Submission #1323628

#TimeUsernameProblemLanguageResultExecution timeMemory
13236281otaBootfall (IZhO17_bootfall)C++20
13 / 100
1095 ms444 KiB
#include <bits/stdc++.h> using namespace std; #define endl "\n" #define int long long #define pii pair<int, int> #define ff first #define ss second #define entire(x) (x).begin(), (x).end() int32_t main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; i++) cin >> a[i]; // 250067 auto isgood = [&](vector<int> arr, int cur){ arr.push_back(cur); bool isgood = true; int sum = accumulate(entire(arr), 0ll); bitset<10067> b; for (int idx = 0; idx <= n; idx++) { int target = sum - arr[idx]; if (target % 2) isgood = false; if (!isgood) break; target /= 2; b.reset(); b.set(0); for (int i = 0; i <= n; i++){ if (i == idx) continue; for (int v = target - arr[i]; v > -1; v--) if (b.test(v)) b.set(v + arr[i]); } if (!b.test(target)) isgood = false; } return isgood; }; vector<int> ans; int lim = accumulate(entire(a), 0ll); for (int cur = 0; cur < lim; cur++) { if (isgood(a, cur)) ans.push_back(cur); } cout << (int) ans.size() << endl; for (auto v : ans) cout << v << " "; return 0; }
#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...