Submission #171279

#TimeUsernameProblemLanguageResultExecution timeMemory
171279Nodir_BobievDetecting Molecules (IOI16_molecules)C++14
100 / 100
72 ms5916 KiB
# include <bits/stdc++.h> # define FILE using namespace std; vector < int > find_subset( int l, int u, vector < int > w ){ int n = w.size(); pair < int, int > pr[n]; for( int i = 0; i < n; i ++ ) pr[i] = make_pair( w[i], i ); sort( pr, pr+n ); int ll = 0, rr = 1; long long sum = pr[ll].first; vector < int > answers; while( rr < n ){ if( sum > u ){ sum -= pr[ll++].first; if( ll >= rr ){ return answers; } } if( l <= sum && sum <= u ){ for( int i = ll; i < rr; i ++ ){ answers.push_back( pr[i].second ); } return answers; } sum += pr[rr++].first; } if( sum > u ){ sum -= pr[ll++].first; } if( sum >= l && sum <= u ){ for( int i = ll; i < rr; i ++ ) answers.push_back( i ); } return answers; } /* int main(){ # ifdef FILE freopen( "input.txt", "r", stdin ); freopen( "output.txt", "w", stdout ); # endif int n, l, u; cin >> n >> l >> u; vector < int > w(n); for( int i = 0; i < n; i ++ ){ cin >> w[i]; } vector < int > ans = find_subset( l, u, w ); for( auto c: ans ){ cout << c << ' '; }cout << endl; return 0; } */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...