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 <algorithm>
#include <iostream>
#include <vector>
using namespace std;
#define rep(i, a, b) for (auto i = (a); i < (b); ++i)
#define all(x) begin(x), end(x)
using ll = long long;
using vi = vector<int>;
vi find_subset(int l, int u, vi w) {
	int n = w.size();
	vi idx(n);
	rep(i, 0, n) idx[i] = i;
	sort(all(idx), [&](int x, int y) { return w[x] < w[y]; });
	sort(all(w));
	int k; ll mx = 0, mi = 0;
	for (k = 1; k <= n; ++k) {
		mi += w[k - 1];
		mx += w[n - k];
		if (l <= mx && mi <= u) break;
	}
	if (k > n) return { };
	int st;
	for (st = 0; mi < l; ++st) {
		mi -= w[st];
		mi += w[st + k];
	}
	
	return {begin(idx) + st, begin(idx) + st + k};
}
| # | 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... |