编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#63759 #1086. jwp的幸运集合 Accepted 100 1813 ms 40608 K Python 3 / 1.6 K 强基(数学)001 吴沂钊 2021-10-11 2:36:30
n = int(input())
A = list(map(int, input().split()))
A2 = A[len(A) // 2:]
del A[len(A) // 2:]
odd = []
even = []
ans = -1


def search(li, k):
    if not li:
        return [0, 0]
    else:
        l, r = 0, len(li)
        if li[l][0] > k:
            return [0, 0]
        else:
            while r - l > 1:
                mid = (l + r) // 2
                if li[mid][0] > k:
                    r = mid
                elif li[mid][0] < k:
                    l = mid
                else:
                    return [mid, 1]
            if li[l][0] < k:
                return [r, 0]
            else:
                return [l, 1]


for i in range(2 ** len(A2)):
    b = bin(i)[2:]
    count = 0
    s = 0
    for j in range(len(b)):
        if b[-1-j] == '1':
            count += 1
            s += A2[j]
    if count % 2 == 1:
        chi = search(odd, s)
        if chi[1] == 1:
            odd[chi[0]][1] += 1
        else:
            odd.insert(chi[0], [s, 1])
    else:
        chi = search(even, s)
        if chi[1] == 1:
            even[chi[0]][1] += 1
        else:
            even.insert(chi[0], [s, 1])
for i in range(2 ** len(A)):
    b = bin(i)[2:]
    count = 0
    s = 0
    for j in range(len(b)):
        if b[-1 - j] == '1':
            count += 1
            s += A[j]
    if count % 2 == 1:
        chi = search(odd, -s)
        if chi[1] == 1:
            ans += odd[chi[0]][1]
    else:
        chi = search(even, -s)
        if chi[1] == 1:
            ans += even[chi[0]][1]
print(ans)
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:53 ms
内存:25820 KiB

输入文件(1.in

5
1 5 -4 3 -1

答案文件(1.out

1

用户输出

1

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:50 ms
内存:25704 KiB

输入文件(2.in

6
-1 2 2 5 5 -5

答案文件(2.out

2

用户输出

2

系统信息

Exited with return code 0
测试点 #3
Accepted
得分:100
用时:50 ms
内存:25828 KiB

输入文件(3.in

10
5 -5 5 1 2 3 3 -1 3 1

答案文件(3.out

14

用户输出

14

系统信息

Exited with return code 0
测试点 #4
Accepted
得分:100
用时:49 ms
内存:25676 KiB

输入文件(4.in

1
0

答案文件(4.out

0

用户输出

0

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:50 ms
内存:25632 KiB

输入文件(5.in

4
1 4 -1 0

答案文件(5.out

1

用户输出

1

系统信息

Exited with return code 0
测试点 #6
Accepted
得分:100
用时:49 ms
内存:25700 KiB

输入文件(6.in

3
0 0 0

答案文件(6.out

3

用户输出

3

系统信息

Exited with return code 0
测试点 #7
Accepted
得分:100
用时:317 ms
内存:40588 KiB

输入文件(7.in

31
749 349 69 -880 282 -926 -831 225 988 552 -193 634 369 476 204 487 387 -803 -370 -975 -17 -485 3
<40 bytes omitted>

答案文件(7.out

260459

用户输出

260459

系统信息

Exited with return code 0
测试点 #8
Accepted
得分:100
用时:297 ms
内存:40352 KiB

输入文件(8.in

31
362 -14 -181 -465 -400 -232 26 963 70 728 -728 -222 -510 854 139 386 555 994 103 279 213 76 953 
<36 bytes omitted>

答案文件(8.out

81861

用户输出

81861

系统信息

Exited with return code 0
测试点 #9
Accepted
得分:100
用时:172 ms
内存:39076 KiB

输入文件(9.in

30
0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15

答案文件(9.out

16383

用户输出

16383

系统信息

Exited with return code 0
测试点 #10
Accepted
得分:100
用时:726 ms
内存:40608 KiB

输入文件(10.in

34
-480 -519 50 980 136 511 821 -785 471 -781 -452 33 -828 -95 61 939 -372 -942 163 622 447 -48 -46
<51 bytes omitted>

答案文件(10.out

2080461

用户输出

2080461

系统信息

Exited with return code 0