# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
849697 | chilengaming | Detecting Molecules (IOI16_molecules) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#include "molecules"
#define int long long
using namespace std;
vector<int> find_subset(int l, int u, vector<int> w) {
vector<int> ans;
vector<pair<int, int>> ww;
int i = 0;
for(int &a : w) {
ww.push_back({a, i});
i++;
}
sort(ww.begin(), ww.end());
int R = 0, sum = w[0];
for(int L = 0; L < w.size(); L++) {
while(sum < l && R < w.size() - 1) {
R++;
sum += w[R];
}
if(sum >= l && sum <= u) {
for(int j = L; j <= R; j++) {
ans.push_back(ww[j].second);
}
return ans;
}
sum -= w[L];
}
return ans;
}