This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
vector<int> find_subset(int l, int u, vector<int> w) {
    vector<pair<ll, int>> v(w.size());
    ll sum = 0, n = v.size();
    for(int  i = 0; i < n; i++){
        v[i].first = w[i];
        v[i].second = i;
    }
    sort(v.begin(), v.end());
    int db = 0;
    for(int i = 0; i < n; i++){
        if(sum + v[i].first <= u){
            sum += v[i].first;
            db++;
        }
    }
    vector<int> ki;
    int akt = 0;
    vector<int> mik;
    for(int i = 0; i < db; i++){
        mik.push_back(i);
    }
    while(sum < l && akt < db){
        sum += v[n - akt - 1].first - v[akt].first;
        mik[akt] = n - akt - 1;
        if(sum >= l){
            for(int i : mik){
                ki.push_back(v[i].second);
            }
            return ki;
        }
        akt++;
    }
    if(sum >= l){
        for(int i : mik){
            ki.push_back(v[i].second);
        }
        return ki;
    }
    return vector<int>(0);
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |