Submission #897496

#TimeUsernameProblemLanguageResultExecution timeMemory
897496NurislamBank (IZhO14_bank)C++17
71 / 100
1040 ms1440 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back //~ #define ff first //~ #define ss second //~ #define all(x) x.begin(),x.end() //~ #define rall(x) x.rbegin(),x.rend() //~ #define int long long ///* __ __ __ */ ///* ====== _ /| /| __ _ / | | /| | @ | | | | / /| |\ | / | | @ | / */ ///* || |_| |_ / |/ | | | |_ |- | |--| /-| | | +-+ |==| |- /=| | \ | | |--| | |- */ ///* || | | |_ / | |__| _| |_ \__ | | / | |__ | __| | | | \ / | | \| \__ | | | | \ */ ///* const int N = 1e6+4, mod = 1e9+7; int n, m; int a[21]; map<pair<multiset<int>, int>, bool>mp; multiset<int> b; bool ok = 1; int cn = 0; void ch(){ if(mp[{b, cn}] || !ok)return; mp[{b,cn}] = 1; if(cn == n){cout << "YES\n";ok = 0;return;} multiset<int> st = b; for(int ms = 1; ms < (int)(1<<b.size()); ms++){ if(!ok)return; vector<int> res; int cnt = 0, sum = 0; for(int i:b){ if((ms>>cnt) & 1){ sum+=i; res.pb(i); } cnt++; if(sum > a[cn])break; } if(sum == a[cn]){ for(int i:res)b.erase(b.find(i)); cn++; ch(); cn--; b = st; } } } void solve(){ cin >> n >> m; for(int i = 0; i < n; i++)cin >> a[i]; for(int i = 0; i < m; i++){int x;cin >> x;b.insert(x);} ch(); if(ok)cout << "NO\n"; } main(){ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); int test = 1; //~ cin >> test; while(test--){ solve(); } }

Compilation message (stderr)

bank.cpp:55:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   55 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...