Submission #656490

#TimeUsernameProblemLanguageResultExecution timeMemory
656490maks007Bank (IZhO14_bank)C++14
19 / 100
1 ms300 KiB
#include "bits/stdc++.h" using namespace std; signed main () { int n, m; cin >> n >> m; int a[n], b[m]; for(int i = 0; i < n; i ++) cin >> a[i]; for(int i = 0; i < m; i ++) cin >> b[i]; int sum = accumulate(a, a + n, 0); int dp[sum + 1]; memset(dp, 0, sizeof(dp)); dp[0] = 1; for(int i = 0; i < m; i ++) { for(int j = sum; j >= 0; j --) { if(j-b[i]<0)break; dp[j] |= dp[j-b[i]]; } } int pref = 0; for(int i = 0; i < n; i ++) { pref += a[i]; if(dp[pref]) continue; cout << "NO\n"; return 0; } cout << "YES\n"; 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...