Submission #288821

#TimeUsernameProblemLanguageResultExecution timeMemory
288821Ruba_KDetecting Molecules (IOI16_molecules)C++14
100 / 100
69 ms6008 KiB
#include "molecules.h"

#include<bits/stdc++.h>

using namespace std ;

vector<int> find_subset(int l, int u, vector<int> w) {
    int n = w.size();
    deque<pair<int , int > >d ;

     for(int i = 0 ; i < n ; i ++)
        d.push_back({w[i] , i});


    sort(d.begin() , d.end());
    if(d[0].first > u)return {};


    long long sum = 0 ;

    deque<pair<int , int > > ret ;

    for(int i = 0 ; i < n ; i ++){
        ret.push_back({d[i].first , d[i].second});

        sum += d[i].first;

        while(sum > u){
            sum -= ret.front().first ;

            ret.pop_front();
        }

        if(sum >= l && sum <= u){

            vector<int>ans ;

            for(auto f : ret)
                ans.push_back(f.second);
            sort(ans.begin() , ans.end());
            return ans ;
        }

    }
    return {};
}
#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...