Submission #1107504

#TimeUsernameProblemLanguageResultExecution timeMemory
1107504vjudge1Bank (IZhO14_bank)C++17
71 / 100
1084 ms6800 KiB
#include <bits/stdc++.h> using namespace std; #define nl '\n' #define pb push_back const int N = 1e5 + 1; int n, m, a[21], b[21]; vector<int> mp[1001]; bool ch; void rec(int i, int sum) { if (i == n) { cout << "YES\n"; exit(0); } for (int x : mp[a[i]]) if (sum + x == (sum | x)) rec(i + 1, sum + x); } void solve() { cin >> n >> m; for (int i = 0; i < n; ++i) cin >> a[i]; for (int j = 0; j < m; ++j) cin >> b[j]; for (int mask = 0; mask < (1 << m); ++mask) { int sum = 0, x = mask, id = 0; while (x) { if (x & 1) sum += b[id]; ++id; x >>= 1; } if (sum <= 1000) mp[sum].pb(mask); } rec(0, 0); cout << "NO\n"; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); int T = 1; // cin >>T; while (T--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...