# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
676853 | coding_snorlax | Detecting Molecules (IOI16_molecules) | C++14 | 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.h"
using namespace std;
vector<int> answer;
vector<int> find_subset(int l,int u,vector<int> w){
sort(w.begin(),w.end())
answer.clear();
long long int Min=0;
long long int Max=0;
int flag=-1;
for(int i=0 ; i<(int)w.size();i++){
Min += w[i];
Max += w[(int)w.size()-i-1];
if (Min <= u && Max >= l){
flag = i;
break;
}
}
if(flag == -1) return answer;
int Count = 0;
while(!(Min >= l && Min<=u)){
Min -= w[flag];
Min += w[(int)w.size()-1-Count];
answer.push_back((int)w.size()-1-Count);
flag --;
Count ++;
}
for(int i=0;i<=flag;i++){
answer.push_back(i);
}
return answer;
}