Submission #1362580

#TimeUsernameProblemLanguageResultExecution timeMemory
1362580mayacDetecting Molecules (IOI16_molecules)C++20
10 / 100
1 ms344 KiB
#include <bits/stdc++.h>
using namespace std;

std::vector<int> find_subset(int l, int u, std::vector<int> w2) {
    int n=w2.size(),s=0;
    vector<pair<int,int>> w(n);
    for(int i=0;i<n;i++)w[i]={w2[i],i};
    sort(w.begin(),w.end());
    for(int i=0;i<n;i++){
        if(w[i].first>=l&&w[i].first<=u)return {w[i].second};
        s+=w[i].first;
    }
    if(s<l||w[0].first>u)return std::vector<int>(0);
    vector<int> ans;
    int c=0;
    s=0;
    for(c;c<n&&s<u;c++){
        s+=w[n-1-c].first;
        ans.push_back(w[n-1-c].second);
        if(s>=l&&s<=u)return ans;
    }
    for(int i=0;i<n-c;i++){
        ans[i]=w[i].second;
        s=s-w[n-1-i].first+w[i].first;
        if(s>=l&&s<=u)return ans;
    }
    return std::vector<int>(0);
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...