Submission #813429

#TimeUsernameProblemLanguageResultExecution timeMemory
813429petezaDetecting Molecules (IOI16_molecules)C++14
100 / 100
65 ms7744 KiB
#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;

vector<int> find_subset(int l, int u, vector<int> w) {
    int n = w.size();
    vector<pair<int, int>> vec(n);
    for(int i=0;i<n;i++) vec[i] = {w[i], i};
    sort(vec.begin(), vec.end());
    vector<long long> qs(1, 0);
    for(auto e:vec) qs.push_back(qs.back()+e.first);
    for(auto it = qs.begin(); it != qs.end(); it++) {
        auto i2 = lower_bound(qs.begin(), qs.end(), *it + l);
        if(i2 == qs.end()) return vector<int>(0);
        if(*i2 - *it <= u) {
            vector<int> v; for(++it,++i2;it!=i2;it++) v.push_back(vec[it-qs.begin()-1].second);
            return v;
        }
    }
    return vector<int>(0);
}
#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...