[Offer收割]编程练习赛21 register

Ended

Participants:295

Verdict:Time Limit Exceeded
Score:80 / 100
Submitted:2017-08-06 12:22:32

Lang:Python2

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
NK = (int(i) for i in raw_input().split())
S = [int(i) for i in raw_input().split()]
S.sort()
res = 0
for iminimum in enumerate(S):
    if minimum >= K:
        break
    for jmaximum in enumerate(S[i:],i):
        if minimum + maximum <= K:
            if i==j:
                res += 1
            else:
                res += (2**(j-i-1)) % 1000000007
            res %= 1000000007
        else:
            break
print res
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX