Submission #1282853

#TimeUsernameProblemLanguageResultExecution timeMemory
1282853ayazBootfall (IZhO17_bootfall)C++20
13 / 100
1057 ms576 KiB
#include <bits/stdc++.h> using namespace std; #ifdef LOCAL // #include "debug.h" #else #define debug(...) 42 #endif #define ll long long #define ld long double #define inf 0x3f3f3f3f3f3f3f3f #define pii pair<int,int> #define all(x) (x).begin(), (x).end() #define isz(x) (int)(x.size()) const int MXN = 500; const ll mod = 998244353; int a[MXN], n; bool check(int idx) { vector<int> b; int sum = 0; for (int i = 1; i <= n+1; i++) if (i != idx) { b.push_back(a[i]); sum += a[i]; } if (sum & 1) return false; sum /= 2; bitset<10001> dp; dp[0] = 1; for (int x : b) dp |= (dp << x); return dp[sum]; } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); #ifdef LOCAL freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); freopen("err.log", "w", stderr); #endif cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; sort(a+1, a+1+n); vector<int> answ; for (int v = 1; v <= 2000; v++) { a[n+1] = v; bool ok = true; for (int i = 1; i <= n+1; i++) { ok &= check(i); if (!ok) break; } if (ok) answ.push_back(v); } cout << isz(answ) << "\n"; for (auto &el : answ) cout << el << " "; 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...