Submission #259168

#TimeUsernameProblemLanguageResultExecution timeMemory
259168NONAMEDetecting Molecules (IOI16_molecules)C++14
100 / 100
72 ms6252 KiB
#include "molecules.h"
#include <algorithm>
using namespace std;
typedef long long ll;

vector<int> find_subset(int l, int u, vector<int> w) {
    int n = int(w.size());

    vector <pair <int, int> > v;

    for (int i = 0; i < n; ++i)
        v.push_back(make_pair(w[i], i));
    sort(v.begin(), v.end());

    ll sum = v[0].first, lft = 0, rgt = 1;

    while (lft < n) {
        while (rgt < n && sum < l)
            sum += v[rgt++].first;
        if (sum >= l && sum <= u)
            break;
        sum -= v[lft++].first;
    }

    vector <int> res;
    res.clear();
    for (int i = lft; i < rgt; ++i)
        res.push_back(v[i].second);

    return res;
}
#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...