Submission #434514

#TimeUsernameProblemLanguageResultExecution timeMemory
434514MohammadAghilBank (IZhO14_bank)C++14
0 / 100
2 ms332 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i,l,r) for(int i = (l); i < r; i++) #define per(i,r,l) for(int i = (r); i >= l; i--) #define all(x) x.begin(), x.end() #define sz(x) (int)(x).size() #define pb push_back #define ff first #define ss second const ll mod = 1e9 + 7, maxn = 20, inf = 1e9 + 5; int a[maxn], c[maxn]; pair<int, int> dp[1 << maxn]; int main(){ int n, m; cin >> n >> m; rep(i,0,n) cin >> a[i]; rep(i,0,m) cin >> c[i]; dp[0] = {0, 0}; rep(b, 1, 1 << m){ rep(i,0,m){ if(b & (1 << i)){ int t = a[dp[(b & (1 << i))].ff] - dp[(b&(1 << i))].ss; pair<int, int> p = dp[b]; if(t == c[i]){ p.ff++; p.ss = 0; }else if(t > c[i]){ p.ss += c[i]; }else{ continue; } dp[b] = p; if(p.ff == n){ return cout << "YES\n", 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...