Submission #794929

#TimeUsernameProblemLanguageResultExecution timeMemory
794929nguyenneheheBank (IZhO14_bank)C++14
19 / 100
70 ms300 KiB
#include<bits/stdc++.h> using namespace std; const int N = 20; int n, m, a[N], b[N]; void sub1() { bool ok = false; for (int s = 1; s < (1 << m); ++s) { int sum = 0; for (int i = 0; i < m; ++i) { if (s >> i & 1) sum += b[i]; } ok |= sum == a[0]; } cout << (ok ? "YES" : "NO"); } void sub2() { bool good = false; do { bool ok = true; for (int i = 0, j = 0; i < n; ++i) { int sum = 0; while (j < m && sum < a[i]) { sum += b[j]; j += 1; } ok &= sum == a[i]; } good |= ok; } while (next_permutation(b + 1, b + m + 1)); cout << (good ? "YES": "NO"); } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin >> n >> m; for (int i = 0; i < n; ++i) cin >> a[i]; for (int i = 0; i < m; ++i) cin >> b[i]; if (n == 1) sub1(); else if (n <= 10 && m <= 10) sub2(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...