Submission #102049

#TimeUsernameProblemLanguageResultExecution timeMemory
102049tim25871014Detecting Molecules (IOI16_molecules)C++17
100 / 100
64 ms5096 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> find_subset(int l,int u,vector<int> w){

    vector<int> ans;

    int n=w.size();
    vector<pair<int,int>> wp;
    for(int i=0;i<n;i++)
        wp.push_back({w[i],i});
    sort(wp.begin(),wp.end());

    long long sum=0,check=0;
    deque<pair<int,int>> sub;
    for(int i=0;i<n;i++){
        sum+=wp[i].first,sub.push_back(wp[i]);
        while(sum>u) sum-=sub.front().first,sub.pop_front();
        if(sum<=u && sum>=l) {check=1;break;}
    }
    if(!check) return ans;
    for(auto i:sub) ans.push_back(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...