# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1165404 | kunzaZa183 | Detecting Molecules (IOI16_molecules) | C++20 | 34 ms | 4028 KiB |
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> find_subset(int l, int u, vector<int> w) {
vector<pair<int, int>> vi;
for (int i = 0; i < w.size(); i++) vi.emplace_back(w[i], i);
sort(vi.begin(), vi.end());
int l2 = 0, r = 0;
long long sum = 0;
while (l2 < vi.size()) {
// cout << l2 << " " << r << " " << sum << "\n";
if (sum < l) {
if (r >= vi.size()) break;
sum += vi[r].first;
r++;
} else if (sum > u) {
sum -= vi[l2].first;
l2++;
} else {
vector<int> ans(r - l2);
for (int i = l2; i < r; i++) ans[i - l2] = vi[i].second;
return ans;
}
}
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... |