Submission #978289

#TimeUsernameProblemLanguageResultExecution timeMemory
978289KasymKBank (IZhO14_bank)C++17
100 / 100
101 ms8792 KiB
#include "bits/stdc++.h" using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; vector<int> a(n), b(m); for(int &i : a) cin >> i; for(int &i : b) cin >> i; vector<int> dp(1 << m, -1), dp2(1 << m, -1); dp[0] = 0, dp2[0] = 0; for(int mk = 0; mk < (1 << m); ++mk){ for(int i = 0; i < m; ++i) if(mk >> i & 1){ int ad = mk & ~(1 << i); if(~dp2[ad]){ int new_ad = dp[ad] + b[i]; int new_ad2 = a[dp2[ad]]; if(new_ad < new_ad2) dp2[mk] = dp2[ad], dp[mk] = new_ad; else if(new_ad == new_ad2) dp2[mk] = dp2[ad] + 1, dp[mk] = 0; } } if(dp2[mk] == n){ cout << "YES" << "\n"; return 0; } } cout << "NO" << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...