Submission #1163755

#TimeUsernameProblemLanguageResultExecution timeMemory
1163755canhnam357Bank (IZhO14_bank)C++20
100 / 100
131 ms436 KiB
// source problem : #include <bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() #define lb lower_bound #define ub upper_bound #define MASK(i) (1LL << (i)) void ckmax(int& f, int s) { f = (f > s ? f : s); } void ckmin(int& f, int s) { f = (f < s ? f : s); } int a[21], b[20], n, m; void solve(int p, int sum, int mask, int st, int used) { if (p == n) { cout << "YES"; exit(0); } if (sum > 0) { for (int i = st; i < m; i++) { if ((mask >> i) & 1) { if (b[i] <= sum && m - used >= n - p) { solve(p, sum - b[i], mask ^ MASK(i), i + 1, used + 1); } } } } else solve(p + 1, a[p + 1], mask, 0, used); } int32_t main() { ios_base::sync_with_stdio(false); cin.tie(0); cin >> n >> m; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < m; i++) cin >> b[i]; solve(0, a[0], MASK(m) - 1, 0, 0); cout << "NO"; 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...