# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
102043 | tim25871014 | 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>
using namespace std;
vector<int> find_subset(int l,int u,vector<int> w){
vector<int> ans;
int n=w.size();
vector<pair<int,int>> wp;
for(int i=0;i<n;i++)
wp.push_back({w[i],i});
sort(wp.begin(),wp.end());
int sum=0,check=0;
deque<int> sub;
for(int i=0;i<n;i++){
sum+=w[i],sub.push_back(wp[i]);
while(sum>u) sum-=sub.front(),sub.pop_front();
if(sum<=u && sum>=l) {check=1;break;}
}
if(!check) return ans;
for(auto i:sub) ans.push_back(sub.second);
return ans;
}