# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1141355 | harry_tm_18 | Detecting Molecules (IOI16_molecules) | C++20 | 0 ms | 328 KiB |
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
vector<int> find_subset(int l, int u, vector<int> w) {
int n = w.size();
vector<pair<int, int>> a;
for (int i = 0; i < n; ++i) {
a.emplace_back(w[i], i);
}
sort(a.begin(), a.end());
vector<int> ans;
ll prefixSum = 0;
for (int i = 0; i < n; ++i) {
prefixSum += a[i].first;
if (prefixSum > u) break;
if (prefixSum >= l) {
for (int j = 0; j <= i; ++j) {
ans.push_back(a[j].second);
}
return ans;
}
ll suffixSum = 0;
for (int j = n - 1; j > i; --j) {
suffixSum += a[j].first;
ll totalSum = prefixSum + suffixSum;
if (totalSum >= l && totalSum <= u) {
for (int k = 0; k <= i; ++k) {
ans.push_back(a[k].second);
}
for (int k = j; k < n; ++k) {
ans.push_back(a[k].second);
}
return ans;
}
}
}
return ans;
}
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... |