Submission #1155383

#TimeUsernameProblemLanguageResultExecution timeMemory
1155383eudhsyfBank (IZhO14_bank)C++20
19 / 100
64 ms4624 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 20; const int mod = 1e9 + 7; int n, m, a[maxn + 5], b[maxn + 5], dp[(1 << 20) + 5]; signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); memset (dp, -1, sizeof(dp)); cin >> n >> m; int smask = (1 << m) - 1; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < m; i++) cin >> b[i]; for (int i = 0; i < n; i++) { for (int mask = 1; mask < (1 << m); mask++) { int sum = 0; for (int j = 0; j < m; j++) { if (mask >> j & 1) { sum += b[j]; } } if (sum == a[i]) { int submask = smask ^ mask; for (int subset = submask; subset; subset = (subset - 1) & submask) { if (dp[subset] == i - 1) { dp[subset | mask] = i; if (i == n - 1) { cout << "YES"; return 0; } } } } } } cout << "NO"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...