Submission #1359030

#TimeUsernameProblemLanguageResultExecution timeMemory
1359030c0det1gerDetecting Molecules (IOI16_molecules)C++20
0 / 100
0 ms344 KiB
#include "molecules.h"
#include <bits/stdc++.h>

using namespace std;

vector<int> find_subset(int l, int u, vector<int> w) {
    vector<pair<int, int>> v(w.size());
    int ss = 0;
    for (int i = 0; i < w.size(); i++){
        v[i].first = w[i];
        v[i].second = i;
        ss += w[i];
    }
    if (ss < l){
        return {};
    }
    sort(v.begin(), v.end());
    int ll = 0, rr = 0;
    int sum = 0;
    while (1){
        if (sum < l){
            sum += v[rr].first;
            rr++;
        }
        if (sum > u){
            sum -= v[ll].first;
            ll++;
        }
        if (sum >= l && sum <= u){
            vector<int> ans;
            for (int i = ll; i < rr; i++){
                ans.push_back(v[i].second);
            }
            return ans;
        }
    }
}

/*int main(){
    vector<int> ans = find_subset(15, 17, {6, 8, 8, 7});
    for (int x: ans){
        cout << x << "\n";
    }
}*/
#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...