# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
298289 | sadpotato | 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>
using namespace std;
long long sum ;
int x ;
vector < pair < int , int > > vec ;
vector < int > ans ;
vector<int> find_subset ( int l , int u , vector < int > w ) {
n = w . size ( ) ;
for ( int i = 0 ; i < n ; i ++ ) {
vec . push_back ( { w [ i ] , i } ) ;
}
sort ( vec . begin ( ) , vec . end ( ) ) ;
x = 0 ;
for ( int i = 0 ; i < n ; i ++ ) {
while ( x < n && sum < l ) {
sum += vec [ x ] . first ;
x ++ ;
}
if ( sum >= l && sum <= u ) {
for ( int j = i ; j <= x ; j ++ ) {
ans . push_back ( vec [ j ] . second ) ;
}
return ans ;
}
sum -= vec [ i ] . first ;
}
return ans ;
}