Submission #502120

#TimeUsernameProblemLanguageResultExecution timeMemory
502120MurotYDetecting Molecules (IOI16_molecules)C++14
9 / 100
1 ms204 KiB
#include <bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
#include "molecules.h"
using namespace std;
std::vector<int> find_subset(int l, int u, std::vector<int> w) {

    vector <pair <ll,ll> > a(w.size());
    int n=w.size();
    for (int i=0;i<n;i++) a[i].first=w[i], a[i].second=i;

    sort(a.begin(),a.end());
    long long sum=0, q=0;
    for (int i=0;i<n;i++){
        while (q < n && sum < l) sum+=a[q].first, q++;

        if (sum >= l && sum <= u){
            vector <int> ans;
            for (int i=0;i<q;i++) ans.push_back(a[i].second);
            sort(ans.begin(), ans.end());
            return ans;
        }
    }
    return vector <int> ();
}
#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...