Submission #1326544

#TimeUsernameProblemLanguageResultExecution timeMemory
1326544ayxanesedzade10Bank (IZhO14_bank)C++20
44 / 100
1095 ms416 KiB
#include <bits/stdc++.h> #define ll long long #define pb push_back #define all(x) x.begin(),x.end() #define ld long double using namespace std; int main() { ll n,m;cin>>n>>m; ll a[n+5],b[m+5]; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=m;i++){ cin>>b[i]; } sort(b+1,b+m+1); if(n==1){ for(int mask=1;mask<(1<<m);mask++){ ll sum=0; for(int j=0;j<m;j++){ if(mask&(1<<j)){ sum+=b[j+1]; } } if(sum==a[1]){ cout<<"YES"<<endl;return 0; } } cout<<"NO"<<endl; return 0; } do{ ll ind=1; ll a1[n+5]; for(int i=1;i<=n;i++) a1[i]=a[i]; for(int i=1;i<=m;i++){ if(a1[ind]>=b[i]){ a1[ind]-=b[i]; if(a1[ind]==0) ind++; } else{ break; } } if(ind==n+1){ cout<<"YES"<<endl;return 0; } }while(next_permutation(b+1,b+m+1)); cout<<"NO"<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...