| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1346300 | cpismayilmmdv985 | Detecting Molecules (IOI16_molecules) | C++20 | 29 ms | 4376 KiB |
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> find_subset(int L, int U, vector<int> W) {
int N = (int)W.size();
vector<array<int, 2>> A; for (int i = 0; i < N; i++) A.push_back({W[i], i});
sort(A.begin(), A.end());
deque<int> dq;
int LP = 0, RP = 0;
int64_t sum = 0;
vector<int> res;
while (RP < N) {
if (sum + A[RP][0] < L) {
sum += A[RP][0], dq.push_back(A[RP++][1]);
} else if (sum + A[RP][0] >= L && sum + A[RP][0] <= U) {
sum += A[RP][0], dq.push_back(A[RP++][1]);
for (auto &d : dq) res.push_back(d);
break;
} else {
while (sum + A[RP][0] > U && LP < RP)
sum -= A[LP++][0], dq.pop_front();
if (sum + A[RP][0] > U) break;
}
}
return res;
}
| # | 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... | ||||
