Submission #489026

#TimeUsernameProblemLanguageResultExecution timeMemory
4890261neDetecting Molecules (IOI16_molecules)C++14
46 / 100
1097 ms3384 KiB
#include "molecules.h" #include<bits/stdc++.h> using namespace std; std::vector<int> find_subset(int l, int u, std::vector<int> arr) { int n = arr.size(); set<int>prev; vector<int>par(u+1,-1); prev.insert(0); int val = -1; for (int i = 0 ;i<n;++i){ set<int>nex; for (auto x:prev){ if (x+arr[i]>u)break; if (par[x+arr[i]]!=-1)continue; nex.insert(x+arr[i]); par[x+arr[i]]=i; if (x+arr[i]>=l&&x+arr[i]<=u){ val = x+arr[i]; break; } } if (val!=-1)break; for (auto x:nex){ prev.insert(x); } } vector<int>ans; while(val>0){ ans.push_back(par[val]); val-=arr[par[val]]; } 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...