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 <algorithm>
#include <vector>
#define PB push_back
using namespace std;
typedef long long ll;
typedef vector < int > vi;
vi W;
bool cmp(int i,int j){
    return W[i] < W[j];
}
vi find_subset(int l, int u, vi w) {
    W = w;
    ll cur = 0, j = 0, n = w.size(); vi p;
    for(int i = 0;i < n;i++) p.PB(i);
    sort(p.begin(), p.end(), cmp);
    for(int i = 0;i < n;i++){
        while(cur < l && j < n){
            cur += (ll)w[p[j++]];
        }
        if(cur >= (ll)l && cur <= (ll)u){
            vi sol;
            for(int k = i;k < j;k++)
                sol.PB(p[k]);
            return sol;
        }
        cur -= (ll)w[p[i]];
    }
    return std::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... |