# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1238272 | kaltspielerhy | Detecting Molecules (IOI16_molecules) | C++20 | 33 ms | 4424 KiB |
#include "molecules.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;
vector<int> find_subset(int l, int u, vector<int> w) {
vector<int> ord(w.size());
iota(ord.begin(), ord.end(), 0);
sort(ord.begin(), ord.end(), [&](int i, int j)
{ return w[i] < w[j]; });
int N = w.size();
vector<ll> sommeCum(N+1, 0);
for (int i = 1; i <= N; i++) {
sommeCum[i] = sommeCum[i-1]+w[ord[i-1]];
}
int end = 1;
for (int iDep = 1; iDep <= N; iDep++) {
while (sommeCum[iDep]-sommeCum[end-1] > u) {
end++;
}
if (sommeCum[iDep]-sommeCum[end-1] >= l) {
vector<int> res;
for (int i = end; i <= iDep; i++) {
res.push_back(ord[i-1]);
}
return res;
}
}
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... |