제출 #971002

#제출 시각아이디문제언어결과실행 시간메모리
971002KasymKDetecting Molecules (IOI16_molecules)C++17
100 / 100
38 ms6352 KiB
#include "bits/stdc++.h"

using namespace std;

vector<int> find_subset(int l, int u, vector<int> w){
    int n = (int)w.size();
    vector<pair<int, int>> v;
    for(int i = 0; i < n; ++i)
        v.push_back({i, w[i]});
    auto cmp = [&](pair<int, int> a, pair<int, int> b) -> bool {
        if(a.second != b.second)
            return a.second > b.second;
        return a.first > b.first;
    };
    sort(v.begin(), v.end(), cmp);
    long long answer = 0;
    vector<int> ans;
    for(int i = 0, j = 0; j < n; ++j){
        answer += v[j].second;
        while(answer > u)
            answer -= v[i++].second;
        if(answer >= l){
            for(int k = i; k <= j; ++k)
                ans.push_back(v[k].first);
            return ans;
        }
    }
    return vector<int> {};
}
#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...