Submission #1284358

#TimeUsernameProblemLanguageResultExecution timeMemory
1284358dex111222333444555Bank (IZhO14_bank)C++20
100 / 100
337 ms20472 KiB
#include <bits/stdc++.h> #define all(v) begin(v), end(v) #define MASK(i) (1LL << (i)) #define BIT(x, i) (((x) >> (i)) & 1) using namespace std; const int MAXN = 21, MAXV = 1005; int numVal, numValA, val[MAXN], valA[MAXN]; bool dp[MAXN][MASK(MAXN)]; vector<int> canMask[MAXV]; void input(){ cin >> numValA >> numVal; for(int i = 1; i <= numValA; i++) cin >> valA[i]; for(int i = 1; i <= numVal; i++) cin >> val[i]; } void dex(){ for(int mask = 1; mask < MASK(numVal); mask++){ int sum = 0; for(int i = 1; i <= numVal; i++) if (BIT(mask, i - 1)) sum += val[i]; if (sum <= 1000) canMask[sum].push_back(mask); } dp[0][0] = 1; for(int i = 0; i < numValA; i++){ bool flag = 0; for(int mask = 0; mask < MASK(numVal); mask++) if (dp[i][mask]){ for(int submask: canMask[valA[i + 1]]){ if ((mask & submask) == 0) dp[i + 1][mask | submask] = flag = 1; } } if (!flag) return cout <<"NO\n", void(); } cout << "YES\n"; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if (fopen("TEST.inp", "r")){ freopen("TEST.inp", "r", stdin); freopen("TEST.out", "w", stdout); } input(); dex(); cerr << 1.0 *clock() / CLOCKS_PER_SEC << ".s\n"; }

Compilation message (stderr)

bank.cpp: In function 'int main()':
bank.cpp:40:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 |         freopen("TEST.inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
bank.cpp:41:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 |         freopen("TEST.out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...