# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1235874 | kaltspielerhy | Detecting Molecules (IOI16_molecules) | C++20 | 1 ms | 328 KiB |
#include "molecules.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;
vector<int> trans(deque<int> q) {
vector<int> res;
while (!q.empty()) {
res.push_back(q.back());
q.pop_back();
}
return res;
}
vector<int> find_subset(int l, int u, vector<int> w) {
sort(w.begin(), w.end());
int N = w.size();
int idx = N-1;
ll somme = 0;
int nbAjouts = 0;
deque<int> result;
while (idx >= 0 && somme < l) {
somme += w[idx];
result.push_front(idx);
idx--;
nbAjouts++;
}
if (somme >= l && somme <= u) return trans(result);
if (somme < l) return vector<int>();
for (int i = 0; i < N; i++) {
somme -= w[result.back()];
result.pop_back();
if (i <= idx) {
somme += w[i];
result.push_front(i);
}
if (somme >= l && somme <= u) return trans(result);
}
return vector<int>();
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |