Submission #488283

#TimeUsernameProblemLanguageResultExecution timeMemory
488283OttincaMBootfall (IZhO17_bootfall)C++14
65 / 100
1088 ms1456 KiB
#include <bits/stdc++.h> using namespace std; int const maxn = 500*500 + 9; bitset <maxn> b; int a[505]; int cnt[maxn]; int main() { int n; cin >> n; b[0] = 1; long long sum = 0; for(int i = 0; i < n; i ++) { cin >> a[i]; sum += a[i]; b |= b << a[i]; } if(sum & 1 || !b[sum / 2]) { return cout << 0, 0; } for(int i = 0; i < n; i ++) { b.reset(); b[0] = 1; for(int j = 0; j < n; j ++) if(i != j) b |= b << a[j]; for(int j = 1; j <= sum; j ++) { int me = j + j - sum + a[i]; if(b[j] && me > 0) cnt[me] ++; } } vector <int> v; for(int i = 1; i < maxn; i ++) if(cnt[i] == n) v.push_back(i); cout << v.size() << '\n'; for(int i : v) cout << i << ' '; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...