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>
#define ll long long
#define all(a) a.begin(),a.end()
#define mp make_pair
#define F first
#define S second
#define pii pair<int,int>
using namespace std;
vector<int> find_subset(int l , int r , vector<int> a){
int sum= 0 ;
for(int x :a) sum+= x ;
set<int> ans ;
int n = a.size() ;
for(int i=0;i<n;i++) ans.insert(i) ;
vector<int> re ;
set<pii> b ;
for(int i=0;i<n;i++) b.insert(mp(a[i],i)) ;
while(1){
if(b.empty()) break ;
if(r>=sum) break ;
auto it = b.end() ;
it-- ;
pii w = *it ;
if(sum-w.F>r){
sum-=w.F ;
b.erase(it) ;
ans.erase(w.S) ;
}
else if(sum-w.F<l){
b.erase(it) ;
}
else{
b.erase(it) ;
ans.erase(w.S) ;
sum-=w.F ;
}
}
//if(sum>r) return re ;
// cout << 1 << " " ;
for(int x : ans) re.push_back(x) ;
if(ans.size()&&sum<=r&&l<=sum)return re ;
vector<int> pp ;
return pp ;
}
| # | 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... |