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 "molecules.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
pair<int, int> A[200010];
int n;
ll S[200010];
vi R;
vi find_subset(int l, int r, vi W){
n=W.size();
for(int i=0; i<n; i++) A[i+1]={W[i], i};
sort(A+1, A+n+1);
for(int i=1; i<=n; i++) S[i]=S[i-1]+A[i].first;
for(int len=1; len<=n; len++){
ll mn=S[len], mx=S[n]-S[n-len];
if(mx<l || r<mn) continue;
for(int i=0; i+len<=n; i++){
ll now=S[i+len]-S[i];
if(now<l || r<now) continue;
for(int j=i+1; j<=i+len; j++) R.push_back(A[j].second);
return R;
}
assert(false);
}
return R;
}
# | 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... |