Short Problem Definition:
The member states of the UN are planning to send 2 people to the moon. They want them to be from different countries. You will be given a list of pairs of astronaut ID’s. Each pair is made of astronauts from the same country. Determine how many pairs of astronauts from different countries they can choose from.
Link
Complexity:
time complexity is O(N)
space complexity is O(1)
Execution:
Keep track of Melements at a time. Basically a simplified prefix sum.
Solution:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#!/bin/python import sys def getWays(squares, d, m): cnt = 0 q = squares[:m - 1 ] for ele in squares[m - 1 :]: q.append(ele) if ( sum (q) = = d): cnt + = 1 q.pop( 0 ) return cnt n = int ( raw_input ().strip()) s = map ( int , raw_input ().strip().split( ' ' )) d,m = raw_input ().strip().split( ' ' ) d,m = [ int (d), int (m)] result = getWays(s, d, m) print (result) |