Submission #307283

#TimeUsernameProblemLanguageResultExecution timeMemory
307283mihai145Detecting Molecules (IOI16_molecules)C++14
100 / 100
62 ms6252 KiB
#include "molecules.h" #include <vector> #include <algorithm> std::vector<int> find_subset(int l, int u, std::vector<int> w) { std::vector<std::pair<int,int>> ww; for(int i = 0; i < (int)w.size(); i++) ww.push_back({w[i], i}); sort(ww.begin(), ww.end()); int lf = 0, r = -1; long long currentSum = 0; int sol_l = -1, sol_r = -1; while(true) { if(currentSum < l) { if(r >= (int)ww.size() - 1) break; currentSum += ww[++r].first; } if(currentSum > u) currentSum -= ww[lf++].first; if(currentSum >= l && currentSum <= u) { sol_l = lf; sol_r = r; break; } } std::vector<int> ans; if(sol_l == -1) return ans; for(int i = sol_l; i <= sol_r; i++) ans.push_back(ww[i].second); 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...