Submission #1229144

#TimeUsernameProblemLanguageResultExecution timeMemory
1229144ninjanoobsxdBank (IZhO14_bank)C++20
0 / 100
6 ms1348 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const ll N = 4000; const ll MOD = 1e9 + 7; ll n, m, pre[25], dp[21][(1 << 21)]; ll A[25], B[25]; void solve() { cin >> n >> m; for (int i = 1; i <= n;i ++) { cin >> A[i]; pre[i] += A[i] + pre[i - 1]; } for (int i = 0; i < m; i++) { cin >> B[i]; } for (int mask = 1; mask < (1 << m); mask++) { dp[0][mask] = 1; } for (int i = 1; i <= n; i++) { for (int mask = 1; mask < (1 << m); mask++) { ll val = 0; for (int j = 0; j < m; j++) { val += ((mask & (1 << j )) != 0 ? A[j] : 0); } if (val == pre[i]) { for (int j = 0; j < m; j++) { if ((mask & (1 << j))) { dp[i][mask] = dp[i - 1][mask ^ (1 << j)]; } } } } } cout << (dp[n][(1 << m) - 1] ? "YES" : "NO"); } int main() { ios_base :: sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); solve(); 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...