In [14]:
def minimum_friends_needed(input_count, stamps_needed, total_friends, friends_stamp_arr):
    friends_stamp_arr.sort(reverse=True)
    
    count_of_friends_needed = 0
    
    for i in range(0, len(friends_stamp_arr)):
        count_of_friends_needed += 1
        current_friend_stamp_count = friends_stamp_arr[i]
        stamps_needed -= current_friend_stamp_count
        
        if stamps_needed <= 0:
            break
    
    print "Scenario #" + str(input_count) + ":"
    print count_of_friends_needed if stamps_needed <= 0 else "impossible"
    print

In [15]:
no_test_cases = input()

for i in range(0, no_test_cases):
    line_1_arr = map(int, raw_input().split())
    stamps_needed = line_1_arr[0]
    total_friends = line_1_arr[1]
    friends_stamp_arr = map(int, raw_input().split())
    minimum_friends_needed(i+1, stamps_needed, total_friends, friends_stamp_arr)


1
100 6
13 17 42 9 23 57
Scenario #1:
3


In [ ]:


In [ ]: