| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1343215 | mdamissu | Bank (IZhO14_bank) | C++20 | 1 ms | 344 KiB |
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<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];
vector<int> rem(1 << m, -1);
vector<int> done(1 << m, -1);
rem[0] = 0;
done[0] = 0;
for (int s = 0; s < (1 << m); s++) {
if (done[s] == -1) continue;
for (int i = 0; i < m; i++) {
if ((s & (1 << i)) != 0) continue;
int ns = s | (1 << i);
int total = rem[s] + b[i];
if (done[s] < n) {
if (total < a[done[s]]) {
if (done[ns] < done[s]) {
done[ns] = done[s];
rem[ns] = total;
}
} else if (total == a[done[s]]) {
if (done[ns] < done[s] + 1) {
done[ns] = done[s] + 1;
rem[ns] = 0;
}
}
}
}
}
int full = (1 << m) - 1;
if (done[full] == n) cout << "YES\n";
else cout << "NO\n";
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
