用户输出
34
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#37848 | #1121. jwp的幸运集合(弱化版) | Accepted | 100 | 37 ms | 364 K | C++ / 903 B | 管工94-郑春旭 | 2020-07-14 10:50:47 |
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
int count = 0;
cin >> n;
int a[n / 2];
for (int i = 0; i < n / 2; i++) {
cin >> a[i];
}
int b[n - n / 2];
for (int i = 0; i < n - n / 2; i++) {
cin >> b[i];
}
map<int, int> mip;
map<int, int> ji;
map<int, int> ou;
for (int m = 0, t = 1 << (n / 2); m < t; m++) {
int sum = 0;
int v = 0;
for (int i = 0; i < n / 2; i++) {
if ((m >> i) & 1 == 1) {
v++;
sum = sum + a[i];
}
}
mip[sum]++;
if (v % 2)
ji[sum]++;
else
ou[sum]++;
}
for (int m = 0, t = 1 << (n - n / 2); m < t; m++) {
int sum = 0;
int v = 0;
for (int k = 0; k < (n - n / 2); k++) {
if ((m >> k) & 1 == 1) {
v++;
sum = sum + b[k];
}
}
if (mip[-sum] && v % 2 == 0)
count += ou[-sum];
if (mip[-sum] && v % 2 == 1)
count += ji[-sum];
}
cout << count - 1;
return 0;
}
用户输出
34
系统信息
Exited with return code 0
用户输出
69
系统信息
Exited with return code 0
20
50000000 -50000000 50000000 -50000000 50000000 -50000000 50000000 -50000000 50000000 -50000000 50
<93 bytes omitted>
用户输出
184755
系统信息
Exited with return code 0
20
50000000 50000000 50000000 50000000 50000000 50000000 50000000 50000000 50000000 50000000 5000000
<82 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
用户输出
255
系统信息
Exited with return code 0