Submission #697172

#TimeUsernameProblemLanguageResultExecution timeMemory
697172_Knyaz_Detecting Molecules (IOI16_molecules)C++17
100 / 100
48 ms6180 KiB
#include <bits/stdc++.h>
#define ff first
#define sc second
using namespace std;
vector<int> find_subset(int l, int u, vector<int> w){
    long long sz = w.size(), sum = 0;
    vector<pair<int, int>> vec;
    for(int i = 0; i < sz; i++) vec.push_back({w[i], i});
    sort(vec.begin(), vec.end());
    vector<int> ans;
    int L = 0, R = 0;
    while(R<sz&&L<sz){
        while(sum<l&&R<sz) sum += vec[R++].ff;
        while(sum>u&&L<sz) sum -= vec[L++].ff;
        if(sum<=u&&sum>=l){
            for(int i = L; i < R; i++) ans.push_back(vec[i].sc);
            sort(ans.begin(), ans.end()); 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...