#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> pii;
typedef vector<bool> vb;
typedef vector<int> vi;
typedef vector<pii> vpii;
typedef vector<vpii> vvpii;
typedef vector<vi> vvi;
typedef tuple<int, int, int> tiii;
typedef vector<tiii> vtiii;
#define sz(x) ((int)(x).size())
#define all(x) begin(x), end(x)
std::vector<int> find_subset(int l, int u, std::vector<int> w)
{
    vpii W;
    int n = sz(w);
    for (int i = 0; i < n; ++i)
    {
        if (w[i] > u)
            continue;
        if (w[i] >= l)
        {
            return {i};
        }
        W.push_back(make_pair(w[i], i));
    }
    sort(all(W));
    n = sz(W);
    int idxl = 0, idxr = n - 1; // both indeces are exclusive
    ll sum = 0;
    while (sum < l && idxl < n)
        sum += W[idxl++].first;
    bool cont = true;
    while (cont)
    {
        cont = false;
        if (sum < l)
        {
            if (idxr >= idxl)
                sum += W[idxr--].first,
                    cont = true;
        }
        else if (sum > u)
        {
            if (idxl > 0)
                sum -= W[--idxl].first,
                    cont = true;
        }
        else
        {
            vector<int> ans;
            for (int i = 0; i < idxl; ++i)
                ans.push_back(W[i].second);
            for (int i = n - 1; i > idxr; --i)
                ans.push_back(W[i].second);
            return ans;
        }
    }
    return std::vector<int>(0);
}
Compilation message (stderr)
molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~| # | 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... |