Submission #94570

#TimeUsernameProblemLanguageResultExecution timeMemory
94570wxh010910Detecting Molecules (IOI16_molecules)C++17
100 / 100
61 ms4856 KiB
#include <bits/stdc++.h> #include "molecules.h" using namespace std; vector<int> find_subset(int l, int u, vector<int> w) { int n = w.size(); vector<int> p(n); for (int i = 0; i < n; ++i) { p[i] = i; } sort(p.begin(), p.end(), [&](const int &x, const int &y) { return w[x] < w[y]; }); long long sum = 0; for (int i = 0; i < n; ++i) { sum += w[p[i]]; } for (int i = 0, j = 0; i < n; ++i) { while (j < n && (sum > u || j < i)) { sum -= w[p[j++]]; } if (sum > u) { break; } if (sum >= l) { vector<int> ans; for (int k = 0; k < i; ++k) { ans.push_back(p[k]); } for (int k = j; k < n; ++k) { ans.push_back(p[k]); } return ans; } sum += w[p[i]]; } return vector<int>(); }
#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...