Submission #1323613

#TimeUsernameProblemLanguageResultExecution timeMemory
13236131otaBootfall (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); for (int idx = 0; idx <= n; idx++) { int target = sum - arr[idx]; if (target % 2) isgood = false; if (!isgood) break; target /= 2; vector<bool> vis(target + 1, false); vis[0] = true; for (int i = 0; i <= n; i++){ if (i == idx) continue; for (int v = target - arr[i]; v > -1; v--) if (vis[v]) vis[v + arr[i]] = true; } if (!vis[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...