Submission #416544

#TimeUsernameProblemLanguageResultExecution timeMemory
416544amunduzbaevDetecting Molecules (IOI16_molecules)C++14
9 / 100
2 ms296 KiB
#include "bits/stdc++.h" #include "molecules.h" #ifndef EVAL #include "grader.cpp" #endif using namespace std; vector<int> find_subset(int l, int u, vector<int> w) { int n; n = (int)w.size(); sort(w.begin(), w.end()); for(int i=0;i<n;i++){ if(l <= w[i] && w[i] <= u) return {i}; } if(w[0] > u) return {}; int gap = u - l, in = -1, in2 = -1; for(int i=0;i<n;i++){ if(w[i] <= l) in = i; if(w[i] <= gap) in2 = i; } assert(~in); int sum = 0; vector<int> res; while(in >= 0 && sum + w[in] <= u) res.push_back(in), sum += w[in], in--; in = min(in, in2); if(l <= sum && sum <= u) return res; while(in >= 0 && sum + w[in] <= u) res.push_back(in), sum += w[in], in--; if(l <= sum && sum <= u) return res; return {}; }
#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...