Submission #1337456

#TimeUsernameProblemLanguageResultExecution timeMemory
1337456hyyhDetecting Molecules (IOI16_molecules)C++20
100 / 100
34 ms4124 KiB
#include "molecules.h"
#include <vector>
#include <deque>
#include <iostream>
#include <algorithm>

using namespace std;
using pii = pair<int,int>;
using ll = long long;

#define endl '\n'
#define f first
#define s second
#define all(x) begin(x),end(x)


std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    int p1 = 0;
    int p2 = 0;
    ll sum = 0;
    vector<pii> vc;
    int N = w.size();
    for(int i{};i < N;i++){
        vc.emplace_back(w[i],i);
    }
    sort(all(vc));
    while(p2 < vc.size()){
        sum += vc[p2].f;
        while(sum > u) sum -= vc[p1].f,p1++;
        if(sum >= l){
            vector<int> ans;
            for(int i{p1};i <= p2;i++){
                ans.emplace_back(vc[i].s);
            }
            return ans;
        }
        p2++;
    }
    return std::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...