제출 #1218646

#제출 시각아이디문제언어결과실행 시간메모리
1218646himanshu_03은행 (IZhO14_bank)C++20
100 / 100
96 ms8656 KiB
#include "bits/stdc++.h" using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n,m; cin>>n>>m; vector<int> salary(n),note(m); for(int i=0;i<n;i++){ cin>>salary[i]; } for(int j=0;j<m;j++){ cin>>note[j]; } vector<int> left((1<<m),-1); vector<int> covered((1<<m),-1); left[0]=0; covered[0]=0; for(int i=0;i<(1<<m);i++){ for(int j=0;j<m;j++){ if((i&(1<<j))==0) continue; int prev=i^(1<<j); if(covered[prev]==-1) continue; int amt=note[j]; int curr_salary=salary[covered[prev]]; int pre=left[prev]; if(amt+pre<curr_salary){ covered[i]=covered[prev]; left[i]=amt+pre; } else if(amt+pre==curr_salary){ covered[i]=covered[prev]+1; left[i]=0; } } if(covered[i]==n){ cout<<"YES"<<endl; return 0; } } cout<<"NO"<<endl; 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...