#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
std::vector<int> find_subset(int l, int u, std::vector<int> w) {
vector<int> ans;
for (int i = 0; i < (int)w.size(); i++) {
if (w[i] >= l && w[i] <= u) {
ans.push_back(i);
return ans;
}
}
set<int> in;
vector<pair<int, int>> w2;
int cs = 0;
for (int i = 0; i < (int)w.size(); i++) {
if (w[i] > u) continue;
cs += w[i]; w2.push_back({w[i], i});
in.insert(i);
}
sort(w2.begin(), w2.end());
// reverse(w2.begin(), w2.end());
// int cs = 0;
for (int i = 0; i < (int)w2.size(); i++) {
if (cs - w2[i].first >= l) {
cs -= w2[i].first;
in.erase(w2[i].second);
// ans.push_back(w2[i].second);
}
}
if (!(cs <= u)) {ans.clear(); return ans;}
vector<int> ans2; for (auto &x : in) ans2.push_back(x);
return ans2;
}