Submission #884425

#TimeUsernameProblemLanguageResultExecution timeMemory
884425iag99Bank (IZhO14_bank)C++17
Compilation error
0 ms0 KiB
#include "bits/stdc++.h" #define fast ios_base::sync_with_stdio(0) , cin.tie(0) , cout.tie(0) #define endl '\n' #define int long long #define f first #define mp make_pair #define s second using namespace std; //string m; signed main() { fast; /* * dp[i][mask]=we can give the first i people their salaries using the banknotes in mask * For each mask, calculate pairs of (values you can get, bitmask corresponding to it), then update dp[i+1] if value is equal to a[i+1] */ int n,m; cin>>n>>m; vector<int> a(n); vector<int> b(m); for(int i=0; i<n; i++) { cin>>a[i]; } for(int i=0; i<m; i++) { cin>>b[i]; } vector<vector<bool>> mask(n+1, vector<bool>(1<<m,false)); dp[0][0]=true; for(int i=0; i<n; i++) { for(int mask=0; mask< (1<<m); i++) { set<pair<int,int>> vals; vals.insert({0,0}); for(int j=0; j<m; j++) { if(!(mask & (1<<j))) { for(pair<int,int> p : vals) { int cmask=p.second; if(!(cmask & (1<<j))) vals.insert({p.first+b[j], cmask | (1<<j)}); if(p.first+b[j]==a[i]) { dp[i+1][cmask | (1<<j)]=true; } } } } } } if(dp[n][1<<m]) { cout<<"YES"<<endl; } else { cout<<"NO"<<endl } }

Compilation message (stderr)

bank.cpp: In function 'int main()':
bank.cpp:33:3: error: 'dp' was not declared in this scope; did you mean 'mp'?
   33 |   dp[0][0]=true;
      |   ^~
      |   mp
bank.cpp:64:3: error: expected ';' before '}' token
   64 |   }
      |   ^