Submission #1350607

#TimeUsernameProblemLanguageResultExecution timeMemory
1350607waygonzDetecting Molecules (IOI16_molecules)C++20
100 / 100
28 ms4376 KiB
#include "molecules.h"
#include <bits/stdc++.h>

using namespace std;

std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    deque<int> dq;
    vector<pair<int, int>> a;
    vector<int> ans;
    for (int i = 0; i < w.size(); i++) a.emplace_back(w[i], i);
    sort(a.begin(), a.end());
    long long sum = 0;
    for (auto &[x, y] : a) {
        sum += x;
        dq.emplace_back(y);
        while (!dq.empty() && sum > u) sum -= w[dq.front()], dq.pop_front();
        if (l <= sum && sum <= u) {
            for (auto &e : dq) ans.emplace_back(e);
            return ans;
        }
    }
    return ans;
}
#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...