Submission #1197047

#TimeUsernameProblemLanguageResultExecution timeMemory
1197047timeflewBank (IZhO14_bank)C++20
100 / 100
117 ms8620 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define ff first #define ss second pair<int, int> dp[1<<20];//idx sum int a[21], b[21], pre[21]; int main() { ios::sync_with_stdio(0); cin.tie(0); int n, m; cin>>n>>m; for(int i=0; i<n; i++) cin>>a[i]; for(int i=0; i<m; i++) cin>>b[i]; for(int i=0; i<(1<<m); i++) { dp[i]={0, 0}; for(int j=0; j<m; j++) { if(i>>j&1) { int idx=dp[i^1<<j].ff, s=dp[i^1<<j].ss; if(b[j]+s==a[idx]) { idx++; s=0; } else if(b[j]+s<a[idx]) { s+=b[j]; } if(idx==n) { cout<<"YES"; return 0; } dp[i]=max(dp[i], {idx, s}); } } } cout<<"NO"; 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...