Submission #819732

#TimeUsernameProblemLanguageResultExecution timeMemory
819732KemalKDetecting Molecules (IOI16_molecules)C++17
100 / 100
39 ms4460 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    int n = w.size();
    vector <pair <int, int>> a(n);
    for (int i = 0; i < n; i++){
        a[i] = {w[i], i};
    }
    sort(a.begin(), a.end());
    queue <int> past;
    ll sum = 0;
    for (int i = 0; i < n; i++){
        sum += a[i].first;
        past.push(a[i].second);
        while(sum > u){
            sum -= w[past.front()];
            past.pop();
        }
        if (sum >= l){
            vector <int> ans;
            
            while(past.size() > 0){
                ans.push_back(past.front());
                past.pop();
            }
            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...