Submission #523587

#TimeUsernameProblemLanguageResultExecution timeMemory
523587obiu10Detecting Molecules (IOI16_molecules)C++17
100 / 100
52 ms5528 KiB
#include <bits/stdc++.h>
#include "molecules.h"

using namespace std;

vector<int> find_subset(int l, int u, std::vector<int> w){
    int n=w.size();
    vector<pair<int,int>> nums(n);
    for(int i=0; i<n; i++){
        nums[i]={w[i],i};
    }
    sort(nums.begin(), nums.end());
    int la=0,ra=0;
    long long sum=0;
    while(la!=n){
        while(sum<l && ra!=n){
            sum+=nums[ra].first;
            ra++;
        }
        if(sum<=u && sum>=l){
            vector<int> res;
            for(int i=la; i<ra; i++) res.push_back(nums[i].second);
            return res;
        }
        sum-=nums[la].first;
        la++;
    }   
    return vector<int>(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...