# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
984182 | alphagomaster | 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 "molecules.h"
#include <bits/stdc++.h>
#define int long long
using namespace std;
std::vector<int> find_subset(int l, int u, std::vector<int> ww) {
int n = size(ww);
pair<int,int>w[n];
for(int i = 0 ; i < n;i++){
w[i].first = ww[i];
w[i].second=i;
}
sort(w,w+n);
int j = 0;
int sum = 0;
deque<int>v;
for(int i = 0; i < n;i++){
v.push_back(w[i].second);
sum += w[i].first;
while(sum > u){
sum -= w[j].first;
j ++;
v.pop_front();
}
if(sum >= l && sum <= u){
//cout << i-j+1 << endl;
vector<int>out;
int si = size(v);
for(int jj = 0; jj <si;jj++){
out.push_back(v[j]);
}
return out;
}
}
return {0};
}