Submission #488282

#TimeUsernameProblemLanguageResultExecution timeMemory
488282OttincaMBootfall (IZhO17_bootfall)C++17
44 / 100
1002 ms1480 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() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); 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 < maxn; 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...