Submission #298011

#TimeUsernameProblemLanguageResultExecution timeMemory
298011AzimjonDetecting Molecules (IOI16_molecules)C++17
69 / 100
58 ms4988 KiB
#include "molecules.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef vector<long long> vi;
typedef vector<pair<long long, long long>>  vii;

std::vector<int> find_subset(int l, int r, std::vector<int> w) {
    int n = w.size();
    vii a(n);
    for (int i = 0; i < n; i++)
        a[i] = {w[i], i};
    
    sort(a.begin(), a.end());

    int tl, tr, yi;
    tl = tr = yi = 0;

    for (;tl < n; tl++) {
        while (tr < n && yi < l)
            yi += a[tr++].first;
        
        if (l <= yi && yi <= r) {
            vector<int> jv;
            for (int k = tl; k < tr; k++)
                jv.push_back(a[k].second);
            return jv;
        }
        yi -= a[tl].first;
    }

    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...