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 <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <vector>
#include "molecules.h"
using namespace std;
struct A
{
    long long con;
    int where;
}all[200005];
bool F(A a,A b)
{
    return a.con<b.con;
}
vector < int > find_subset(int l, int u, vector < int > w)
{
    int N=w.size(),i;
    long long t=0;
    long long X=(long long) l;
    long long Y=(long long) u;
    int x=0,y=0;
    for(i=0;i<N;i++)
    {
        all[i].con=(long long) w[i];
        all[i].where=i;
    }
    sort(all,all+N,F);
    vector < int > ans;
    for(i=0;i<N;i++)
    {
        if(all[i].con>u) break;
        t+=all[i].con;
        while(t>Y)
        {
            t-=all[x++].con;
        }
        if(X<=t&&t<=Y)
        {
            //printf("%d %d %d %d\n",i,t,x,y);
            for(i=x;i<=y;i++)
            {
                //printf("a:%d\n",i);
                ans.push_back(all[i].where);
            }
            return ans;
        }
        y++;
    }
    return ans;
}
| # | 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... |