Submission #361669

#TimeUsernameProblemLanguageResultExecution timeMemory
361669ngpin04Bank (IZhO14_bank)C++14
0 / 100
3 ms512 KiB
#include <bits/stdc++.h> using namespace std; int a[21]; int b[20]; int sum[1 << 20]; int n,m; bool dp[1 << 20][21]; int getbit(int x, int i) { return (x >> i) & 1; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); freopen("bank.in","r",stdin); freopen("bank.out","w",stdout); cin >> n >> m; for (int i = 1; i <= n; i++) cin >> a[i], a[i] += a[i - 1]; for (int i = 0; i < m; i++) cin >> b[i]; for (int mask = 0; mask < (1 << m); mask++) for (int i = 0; i < m; i++) if (getbit(mask, i)) sum[mask] += b[i]; dp[0][0] = true; for (int mask = 0; mask < (1 << m); mask++) for (int i = 0; i <= n; i++) if (dp[mask][i]) { if (sum[mask] == a[i]) { if (i == n) return cout << "YES\n", 0; dp[mask][i + 1] = true; } else { for (int j = 0; j < m; j++) if (!getbit(mask, j)) dp[mask | (1 << j)][i] = true; } } cout << "NO\n"; return 0; }

Compilation message (stderr)

bank.cpp: In function 'int main()':
bank.cpp:21:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   21 |     freopen("bank.in","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
bank.cpp:22:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   22 |     freopen("bank.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...