제출 #1289348

#제출 시각아이디문제언어결과실행 시간메모리
1289348kubinsgk8은행 (IZhO14_bank)C++20
0 / 100
1094 ms9648 KiB
#include<bits/stdc++.h> using namespace std; long long n, m; long long a[22], b[22]; bool dp[22][(1<<20)+2]; long long sum[(1<<20)+2]; int main() { ios_base::sync_with_stdio(0);cin.tie(0); cin>>n>>m; for(int i=1; i<=n; i++)cin>>a[i]; for(int i=1; i<=m; i++)cin>>b[i]; for(int mask=1; mask<(1<<m); mask++) { for(int i=0; i<m; i++) { if(mask&(1<<(i)))sum[mask]+=b[i+1]; } dp[0][mask]=true; } for(int i=1; i<=n; i++) { for(int mask=1; mask<(1<<m); mask++) { for(int con=mask; con; con=(con-1)&mask) { if(sum[con]!=a[i])continue; if(dp[i-1][mask^con]) { dp[i][mask]=true; break; } } } } for(int mask=1; mask<(1<<m); mask++) { if(dp[n][mask]) { cout<<"YES"; return 0; } } 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...