| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1354627 | nini_gvenetadze | Detecting Molecules (IOI16_molecules) | C++20 | 0 ms | 0 KiB |
#include<bits/stdc++.h>
using namespace std;
vector<int> find_subset(int l, int u, vector<int> w)
{
int n=w.size();
vector<pair<int, int>> vec(n);
for(int i=0; i<n; i++)
{
vec.first=w[i];
vec.second=i;
}
sort(vec.begin(), vec.end());
vector<int> vec2;
long long int sum=0;
//vector
for(int i=0; i<n; i++)
{
sum+=vec[i].first;
if(sum>=l)
{
if(sum<=u){
for(int k=0; k<=i; k++){
vec2.push_back(vec[k].second);}
}
return vec2;}
if(sum>u)
{
long long p=0;
while(sum>u && p<n)
{
sum-=vec[p].first;
p++;
}
if(sum>=l && sum<=u)
{
for(int k=p; k<n; k++)
{
vec2.push_back(vec[k].second);
}
return vec2;
}
}
}
return vec2;
} 