I didn’t knew that this contest existed! 😀 Well, found it on the front page, looking to be solved, so, let’s go! Its summary:
You receive a credit
Cat a local store and would like to buy two items. You first walk through the store and create a listLof all available items. From this list you would like to buy two items that add up to the entire value of the credit. The solution you provide will consist of the two integers indicating the positions of the items in your list (smaller number first).
It’s quite simple, and by smaller number first, they mean the position of the items, not its value. From that, the solution is trivial (already validated for the inputs):
for case in range(1,int(raw_input())+1): # For all test cases
credit = int(raw_input()) # Get the test's credit
raw_input() # Discard the number of items
strItems = raw_input().split(" ") # Get the items as strings
items = []
for item in strItems:
items.append(int(item)) # Convert the items to integers
out = False
i = 0
j = i+1
for i in range(0,len(items)-1): # first item can be any of the items, but the last
for j in range(i+1,len(items)): # the second will be any of the items after the first
if items[i] + items[j] == credit:
out = True # Found, get out
break
if out: break
print "Case #%d: %d %d" % (case, i+1, j+1)# Reports results
Pretty easy! 😀 See you next post!
Comment this