Submission #88260

#TimeUsernameProblemLanguageResultExecution timeMemory
88260amiratouDetecting Molecules (IOI16_molecules)C++14
46 / 100
1080 ms2168 KiB
#include "molecules.h" #define boost ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0) #include <bits/stdc++.h> using namespace std; vector<pair<int,int> > vec; vector<int> ans; bool used[200005]; unordered_map<long long,bool> mymap; int n,L,R; bool solve(long long sum,int idx){ if(sum>R){ mymap[sum]=0; return 0; } if(sum>=L&&sum<=R){ for (int i = 0; i < n; ++i) { if(used[i]) ans.push_back(i); } return 1; } if(mymap.find(sum)!=mymap.end()) return 0; for (int i = idx+1; i < n; ++i) { used[vec[i].second]=1; if(solve(sum+vec[i].first,i))return 1; mymap[sum]=1; used[vec[i].second]=0; } return 0; } std::vector<int> find_subset(int l, int u, std::vector<int> w) { boost; n=w.size(); L=l;R=u; vec.resize(n); for (int i = 0; i < n; ++i) { vec[i].first=w[i]; vec[i].second=i; } //sort(vec.begin(),vec.end()); if(!solve(0,-1)) return vector<int>(0); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...