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 <bits/stdc++.h>
#include "molecules.h"
//#include "grader.cpp"
using namespace std;
typedef long long ll;
const int MX=2e5+9;
bool dp[MX];
int last[MX];
pair<int,int>a[MX];
vector<int> ans(int l,int r){
vector<int>ret;
for(int i=l;i<=r;i++)ret.push_back(a[i].second);
return ret;
}
vector<int> find_subset(int l, int u, vector<int> w) {
int n=w.size();
for(int i=0;i<n;i++)a[i].first=w[i],a[i].second=i;
sort(a,a+n);
int p1=0,p2=0;
ll sum=0;
while(p1<n&&p2<n){
while(sum<l&&p2<n){
sum+=a[p2++].first;
}
// cout<<p1<<" "<<p2<<" "<<sum<<endl;
if(sum>=l&&sum<=u){
return ans(p1,p2-1);
}
while(sum>u&&p1<n){
sum-=a[p1++].first;
}
if(sum>=l&&sum<=u){
return ans(p1,p2-1);
}
}
vector<int>anss;
return anss;
}
# | 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... |