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... |