Submission #1257835

#TimeUsernameProblemLanguageResultExecution timeMemory
1257835_filya_Bank (IZhO14_bank)C++20
100 / 100
107 ms16712 KiB
#include<bits/stdc++.h> typedef long long ll; using namespace std; int main() { // ifstream cin("input.txt"); // ofstream cout("output.txt"); ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m; cin >> n >> m; vector<ll> a(n), b(m); for (int i = 0; i < n; i++) cin >> a[i]; sort(a.begin(), a.end()); for (int i = 0; i < m; i++) cin >> b[i]; sort(b.begin(), b.end()); vector<pair<ll, ll>> dp(1 << m, {0, 0}); for (int mask = 1; mask < (1 << m); mask++) { for (int bit = 0; bit < m; bit++) if (mask & (1 << bit)) { pair<ll, ll> cur = dp[mask ^ (1 << bit)]; if (cur.first == n){ dp[mask] = cur; continue; } cur.second += b[bit]; if (cur.second == a[cur.first]) { cur.first++; cur.second = 0; } dp[mask] = max(dp[mask], cur); } } cout << (dp[(1 << m) - 1].first == n ? "YES" : "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...