Submission #1181931

#TimeUsernameProblemLanguageResultExecution timeMemory
1181931FaresSTHBank (IZhO14_bank)C++20
19 / 100
1095 ms444 KiB
#include"bits/stdc++.h" using namespace std; using ll=long long; #define S second #define F first int n,m,a[25],b[25],f[20001],cur[20001]; void sol(int i,int v){ if(i==n){ for(int j=0;j<n;j++){ if(cur[a[j]]<f[a[j]])return; } cout<<"YES"; exit(0); } for(int mask=0;mask<(1<<m);mask++){ if(mask&v)continue; int res=0; for(int j=0;j<m;j++){ if(mask&(1<<j))res+=b[j]; } cur[res]++; sol(i+1,v|mask); cur[res]--; } } int main(){ cin.tie(0)->sync_with_stdio(0); cin>>n>>m; for(int i=0;i<n;i++){ cin>>a[i]; f[a[i]]++; } for(int i=0;i<m;i++)cin>>b[i]; sol(0,0); cout<<"NO"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...