Submission #107997

#TimeUsernameProblemLanguageResultExecution timeMemory
107997FiloSanzaDetecting Molecules (IOI16_molecules)C++14
0 / 100
3 ms384 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; vector<int> build(multiset<int>& el, const vector<int>& w){ vector<int> sol; for(auto i : w)if(el.count(i)){ el.erase(i); sol.push_back(i); } return sol; } vector<int> find_subset(int l, int u, vector<int> w) { sort(w.begin(), w.end()); long long sum = 0; multiset<int> el; for(auto i : w) sum += 1LL*i, el.insert(i); while(!el.empty()){ if(sum < l) return vector<int>(0); if(sum >= l && sum <= u) return build(el, w); long long diff = sum - u; auto it = el.lower_bound(diff); if(it == el.end()) it = prev(el.end()); sum -= *it; el.erase(it); } return vector<int>(0); }
#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...