제출 #990835

#제출 시각아이디문제언어결과실행 시간메모리
990835phoenixDetecting Molecules (IOI16_molecules)C++17
100 / 100
34 ms2908 KiB
#include "molecules.h"
#include <bits/stdc++.h>

using namespace std;
using ll = long long;


vector<int> find_subset(int L, int R, vector<int> w) {
    int n = (int)w.size();
    vector<int> ord(n);
    iota(ord.begin(), ord.end(), 0);
    sort(ord.begin(), ord.end(), [&](int a, int b) {
        return (w[a] < w[b]);
    });

    int l = 0;
    ll sum = 0;
    for (int r = 0; r < n; r++) {
        sum += w[ord[r]];
        while (sum > R) {
            sum -= w[ord[l++]];
        }
        if (L <= sum) {
            vector<int> res;
            for (int i = l; i <= r; i++) 
                res.push_back(ord[i]);
            return res;
        }
    }

    return 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...