제출 #1321673

#제출 시각아이디문제언어결과실행 시간메모리
1321673zhaoxwBank (IZhO14_bank)C++20
100 / 100
65 ms4480 KiB
#include<bits/stdc++.h> using namespace std; int dp[1<<20],a[21],b[21],p[21],n,m,ok,cnt = 1; int main() { cin >> n >> m; for(int i = 1;i <= n;i++) { cin >> a[i]; p[i] = p[i-1]+a[i]; } for(int i = 1;i <= m;i++) cin >> b[i]; for(int mask = 0;mask < (1<<m);mask++) { int cur = 0,sum = 0; for(int j = 0;j < m;j++) if(mask&(1<<j)) { cur = max(cur,dp[mask^(1<<j)]); sum += b[j+1]; } if(sum == p[cur+1]) cur++; dp[mask] = cur; } for(int mask = 0;mask < (1<<m);mask++) if(dp[mask] == n) ok = 1; if(ok) cout << "YES\n"; else 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...