Submission #492024

#TimeUsernameProblemLanguageResultExecution timeMemory
492024eNGyDetecting Molecules (IOI16_molecules)C++17
100 / 100
54 ms3748 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
std::vector<int> find_subset(int l, int u, std::vector<int> w){
    vector<int> sol;
    int N = w.size();
    
    vector<pair<int, int> > v(N);
    for(int i=0; i<N; i++){
    	v[i] = make_pair(w[i], i);
	}
    sort(v.begin(), v.end());
    
    long long somma = 0, J = 0;
    for(int i=0; i<N; i++){
        while(J < N && somma < l){
            somma += v[J].first;
            J++;
        }
        
        if(somma >= l && somma <= u){
            for (int s=i; s<J; s++) {
            	sol.push_back(v[s].second);
			}
				
            return sol;
            
        }else{
        	somma -= v[i].first;
		}
    }
 
    return sol;
}
#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...