Submission #910040

#TimeUsernameProblemLanguageResultExecution timeMemory
910040pragmatistDetecting Molecules (IOI16_molecules)C++17
69 / 100
1042 ms5664 KiB
#include <bits/stdc++.h>

using namespace std;

const int N = (int)2e5 + 7;

int n;
pair<int, int> a[N];
int L, R;

vector<int> find_subset(int _l, int _u, vector<int> _w) {
    n = (int)_w.size();
    L = _l;
    R = _u;
    for(int i = 0; i < n; ++i) {
        a[i] = {_w[i], i};
    }
    sort(a, a+n);
    if(a[0].first >= L && a[0].first <= R) {
        return {a[0].second};
    }
    if(a[n-1].first >= L && a[n-1].first <= R) {
        return {a[n-1].second};
    }
    if(R < a[0].first) {
        return {};
    }
    for(int i = 0; i < n; ++i) {
        long long cur = 0;
        vector<int> ans;
        for(int j = i; j < n; ++j) {
            cur += a[j].first;
            ans.push_back(a[j].second);
            if(cur >= L && cur <= R) {
                return ans;
            }
        }
    }
    return {};
}
#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...