Submission #887339

#TimeUsernameProblemLanguageResultExecution timeMemory
887339duckindogBank (IZhO14_bank)C++17
25 / 100
18 ms8540 KiB
//from duckindog wth depression #include<bits/stdc++.h> using namespace std; const int N = 21, M = (1 << 20); int a[N], b[N]; bool f[N][M]; int32_t main() { cin.tie()->sync_with_stdio(0); if (fopen("duck.inp", "r")) { freopen("duck.inp", "r", stdin); freopen("duck.out", "w", stdout); } int n, m; cin >> n >> m; if (m > 10) return 0; for (int i = 1; i <= n; ++i) cin >> a[i]; for (int i = 1; i <= m; ++i) cin >> b[i]; f[0][0] = 1; for (int i = 1; i <= n; ++i) { for (int mask = 1; mask <= (1 << m) - 1; ++mask) { for (int s = 0; s < mask; ++s) { if ((s | mask) != mask) continue; int t = ((s & mask) ^ mask); int val = 0; for (int j = 1; j <= m; ++j) if (((t >> j - 1) & 1)) val += b[j]; if (val == a[i]) f[i][mask] |= f[i - 1][s]; } } } for (int mask = 1; mask <= (1 << m) - 1; ++mask) { if (f[n][mask]) { cout << "YES"; return 0; } } cout << "NO"; }

Compilation message (stderr)

bank.cpp: In function 'int32_t main()':
bank.cpp:32:24: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
   32 |           if (((t >> j - 1) & 1)) val += b[j];
      |                      ~~^~~
bank.cpp:15:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     freopen("duck.inp", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
bank.cpp:16:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |     freopen("duck.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...