Submission #173505

#TimeUsernameProblemLanguageResultExecution timeMemory
173505AllMightBootfall (IZhO17_bootfall)C++14
28 / 100
1080 ms632 KiB
#include <iostream> #include <algorithm> #include <vector> using namespace std; const int N = 502; int n; int a[N]; int cnt[N * N]; vector <int> v; void check(int ind) { int mx = 0; vector <bool> knp(N * N, false); knp[0] = true; for (int i = 0; i < n; i++) { if (i == ind) continue; for (int j = mx; j >= 0; j--) { if (knp[j]) { knp[j + a[i]] = true; mx = max(mx, j + a[i]); } } } int sum = mx; for (int i = 0; 2 * i < sum; i++) { if (!knp[i]) continue; int ans = sum - 2 * i; cnt[ans]++; if (ind == 0) v.push_back(ans); } } int main() { ios_base::sync_with_stdio(false); cin >> n; int mx = 0; vector <bool> knp(N * N, false); knp[0] = true; for (int i = 0; i < n; i++) { cin >> a[i]; for (int j = mx; j >= 0; j--) { if (knp[j]) { knp[j + a[i]] = true; mx = max(mx, j + a[i]); } } } int sum = mx; if (sum % 2 || !knp[sum / 2]) { cout << "0\n"; return 0; } for (int i = 0; i < n; i++) check(i); vector <int> ans; for (int i = 0; i < v.size(); i++) if (cnt[v[i]] == n) ans.push_back(v[i]); sort(ans.begin(), ans.end()); cout << ans.size() << endl; for (int i = 0; i < ans.size(); i++) cout << ans[i] << ' '; cout << endl; return 0; }

Compilation message (stderr)

bootfall.cpp: In function 'int main()':
bootfall.cpp:68:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < v.size(); i++)
                  ~~^~~~~~~~~~
bootfall.cpp:74:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < ans.size(); 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...