Submission #811062

#TimeUsernameProblemLanguageResultExecution timeMemory
811062manhlinh1501Detecting Molecules (IOI16_molecules)C++17
Compilation error
0 ms0 KiB
vector<int> find_subset(int l, int r, vector<int> a) {
    int n = a.size();
    vector<i64> sum(n);
    vector<pll> res;

    for(int i = 0; i < n; i++)
        res.eb(a[i], i);

    sort(all(res));
    sum.front() = res.front().first;

    for(int i = 1; i < n; i++)
        sum[i] = sum[i - 1] + res[i].first;

    vector<int> ans;

    for(int i = 0; i < n; i++) {
        int pos = lb(sum, sum[i] - res[i].first + l);

        if(pos >= n)
            continue;

        if(sum[pos] - sum[i] + res[i].first <= r) {
            for(int j = i; j <= pos; j++)
                ans.eb(res[j].second + 1);

            return ans;
        }
    }

    reverse(all(res));

    sum.front() = res.front().first;

    for(int i = 1; i < n; i++)
        sum[i] = sum[i - 1] + res[i].first;

    vector<int> ans;

    for(int i = 0; i < n; i++) {
        int pos = lb(sum, sum[i] - res[i].first + l);

        if(pos >= n)
            continue;

        if(sum[pos] - sum[i] + res[i].first <= r) {
            for(int j = i; j <= pos; j++)
                ans.eb(res[j].second + 1);

            return ans;
        }
    }

    return ans;
}

Compilation message (stderr)

molecules.cpp:1:1: error: 'vector' does not name a type
    1 | vector<int> find_subset(int l, int r, vector<int> a) {
      | ^~~~~~