Submission #1169132

#TimeUsernameProblemLanguageResultExecution timeMemory
1169132GoBananas69Bank (IZhO14_bank)C++20
Compilation error
0 ms0 KiB
#include <iostream> #include <vector> #include <algorithm> #include <map> #include <bitset> typedef long long ll; using namespace std; bool ok = false; int n, m; vector<int> a, b; vector<vector<int>> mask; void one() { ll x = a[0]; ll t = 1 << m; for (ll i = 0; i<t; ++i) { ll curr = 0; for (ll j = 0; j<m; ++j) { if (i & (1 << j)) curr += b[j]; } if (curr == x) { cout << "YES\n"; exit(0); } } cout << "NO\n"; exit(0); } void solve(int curr, int k) { if (k == n) { cout << "YES\n"; exit(0); } for (auto &i: mask[a[k]]) { if (!(curr & i)) { solve(curr | i, k + 1, a, mask); } } } signed main() { cin.tie() -> sync_with_stdio(0); cin >> n >> m; a.resize(n); b.resize(m); if (n > m) { cout << "NO\n"; return 0; } int sum = 0; for (int i = 0; i<n; ++i) cin >> a[i]; for (int i = 0; i<m; ++i) { cin >> b[i]; sum += b[i]; } if (n == 1) { one(a, b); } mask.resize(sum + 1); for (int i = 0; i<(1 << m); ++i) { int curr = 0; for (int j = 0; j<m; ++j) { if (i & (1 << j)) curr += b[j]; } mask[curr].push_back(i); } for (int i = 0; i<n; ++i) { if (mask[a[i]].empty()) { cout << "NO\n"; return 0; } } solve(0, 0, a, mask); cout << "NO\n"; }

Compilation message (stderr)

bank.cpp: In function 'void solve(int, int)':
bank.cpp:37:18: error: too many arguments to function 'void solve(int, int)'
   37 |             solve(curr | i, k + 1, a, mask);
      |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
bank.cpp:30:6: note: declared here
   30 | void solve(int curr, int k) {
      |      ^~~~~
bank.cpp: In function 'int main()':
bank.cpp:59:12: error: too many arguments to function 'void one()'
   59 |         one(a, b);
      |         ~~~^~~~~~
bank.cpp:13:6: note: declared here
   13 | void one() {
      |      ^~~
bank.cpp:79:10: error: too many arguments to function 'void solve(int, int)'
   79 |     solve(0, 0, a, mask);
      |     ~~~~~^~~~~~~~~~~~~~~
bank.cpp:30:6: note: declared here
   30 | void solve(int curr, int k) {
      |      ^~~~~