Submission #754287

#TimeUsernameProblemLanguageResultExecution timeMemory
754287OlympiaBootfall (IZhO17_bootfall)C++17
13 / 100
1068 ms320 KiB
#include <vector> #include <iostream> #include <cassert> #include <cmath> #include <map> #include <bitset> #include <set> #include <stack> using namespace std; bool okay (vector<int> v) { int sum = 0; for (int i: v) { sum += i; } if (sum % 2 == 1) { return false; } bitset<5000> bs; bs[0] = true; for (int i: v) { bs |= (bs << i); } return bs[sum/2]; } vector<int> remove (vector<int> v, int ind) { vector<int> a; for (int i = 0; i < v.size(); i++) { if (i != ind) { a.push_back(v[i]); } } return a; } int main () { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; vector<int> v(n); for (int i = 0; i < n; i++) { cin >> v[i]; } bitset<5000> bs; bs[0] = true; for (int i = 0; i < n - 1; i++) { bs |= (bs >> v[i]) | (bs << v[i]); } vector<int> ans; for (int i = 0; i <= 5000; i++) { if (!bs[i]) { continue; } v.push_back(i); bool fine = true; for (int j = 0; j < v.size(); j++) { if (!okay(remove(v, j))) { fine = false; break; } } if (fine) { ans.push_back(i); } v.pop_back(); } cout << ans.size() << endl; for (int i: ans) { cout << i << ' '; } cout << endl; }

Compilation message (stderr)

bootfall.cpp: In function 'std::vector<int> remove(std::vector<int>, int)':
bootfall.cpp:27:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |  for (int i = 0; i < v.size(); i++) {
      |                  ~~^~~~~~~~~~
bootfall.cpp: In function 'int main()':
bootfall.cpp:55:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |      for (int j = 0; j < v.size(); j++) {
      |                      ~~^~~~~~~~~~
#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...