Submission #605862

#TimeUsernameProblemLanguageResultExecution timeMemory
605862jjianglyBank (IZhO14_bank)C++14
25 / 100
1091 ms304 KiB
#include <bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() #define siz(x) int(x.size()) #define ll long long #define ar array #define vt vector #define inf INT_MAX #define lnf LLONG_MAX const int nxm = int(2e5) + 7; int n, m, a[25], b[25]; namespace sub1 { void exe() { bool ok = false; function<void(int, int)> work = [&](int idx, int v) { if (idx == m) { ok = (v == a[0] ? true : ok); return; } work(idx + 1, v + a[idx - 1]); work(idx + 1, v); }; work(0, 0); cout << (ok ? "YES" : "NO") << "\n"; } }; namespace sub2 { void exe() { vt<int> p(m); iota(all(p), 0); bool ok = false; do { int cnt = 0, sum = 0; for (int i = 0; i < m; ++i) { sum += b[p[i]]; if (sum == a[cnt]) { ++cnt; sum = 0; } if (cnt >= n) { break; } } if (cnt == n) { ok = true; } } while (next_permutation(all(p))); cout << (ok ? "YES" : "NO") << "\n"; } }; int subtask() { if (n == 1) { return 1; } else if (n <= 10) { return 2; } else if (n <= 20 && m <= 14) { return 3; } return 4; } int main() { ios_base::sync_with_stdio(0); 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]; } if (subtask() == 1) { sub1::exe(); } else if (subtask() == 2) { sub2::exe(); } return 0; }

Compilation message (stderr)

bank.cpp: In function 'void sub1::exe()':
bank.cpp:23:34: warning: array subscript -1 is below array bounds of 'int [25]' [-Warray-bounds]
   23 |       work(idx + 1, v + a[idx - 1]);
      |                         ~~~~~~~~~^
bank.cpp:13:11: note: while referencing 'a'
   13 | int n, m, a[25], b[25];
      |           ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...