Submission #646308

#TimeUsernameProblemLanguageResultExecution timeMemory
646308JJAnawatDetecting Molecules (IOI16_molecules)C++14
100 / 100
50 ms6180 KiB
#include<bits/stdc++.h>
#include "molecules.h"

using namespace std;

vector<int> find_subset(int l, int u, vector<int> w) {
    int n=w.size();
    vector<pair<int,int>> v;
    for(int i=0;i<n;i++){
        v.push_back({w[i],i});
    }
    sort(v.begin(),v.end());
    long long sum=0;
    int lo=0,hi=0;
    vector<int> ans;
    while(sum<l||sum>u){
        if(sum<l){
            if(hi==n)
                return vector<int>(0);
            sum+=v[hi].first;
            hi++;
        }
        else{
            if(lo>hi)
                return vector<int>(0);
            sum-=v[lo].first;
            lo++;
        }
    }
    for(int i=lo;i<hi;i++){
        ans.push_back(v[i].second);
    }
    return ans;
}
#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...