Submission #1168888

#TimeUsernameProblemLanguageResultExecution timeMemory
1168888GoBananas69Bank (IZhO14_bank)C++20
25 / 100
1095 ms436 KiB
#include <iostream> #include <vector> #include <algorithm> #include <map> #include <bitset> typedef long long ll; using namespace std; bool solve(vector<int> a, vector<int> b) { int n = a.size(), m = b.size(); int curr = 0; int j = 0; for (int i = 0; i<n; ++i) { curr = 0; while (curr < a[i] && j < m) { curr += b[j]; ++j; } if (curr != a[i]) { return false; } } return true; } signed main() { cin.tie() -> sync_with_stdio(0); int n, m; cin >> n >> m; vector<int> a(n), b(m); if (n > m) { cout << "NO\n"; return 0; } for (int i = 0; i<n; ++i) cin >> a[i]; for (int i = 0; i<m; ++i) cin >> b[i]; sort(b.begin(), b.end()); if (solve(a, b)) { cout << "YES\n"; return 0; } while (next_permutation(b.begin(), b.end())) { if (solve(a, b)) { cout << "YES\n"; return 0; } } cout << "NO\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...