Submission #741855

#TimeUsernameProblemLanguageResultExecution timeMemory
741855haydendooDetecting Molecules (IOI16_molecules)C++17
100 / 100
46 ms7132 KiB
#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;

#define ll long long

vector<int> find_subset(int L, int U, vector<int> W) {
    ll l=L,u=U,n=W.size();
    pair<ll,ll> w[n];
    for(int i=0; i<n; ++i) w[i]={W[i],i};
    sort(w,w+n);
    ll left=0,curr=0;
    for(int i=0; i<n; ++i) {
        curr+=w[i].first;
        if(curr<l) continue;
        while(left<i && curr>u) {
            curr-=w[left].first; ++left;
        }
        if(curr>=l && curr<=u) {
            vector<int> ans;
            for(int j=left; j<=i; ++j) ans.push_back(w[j].second);
            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...