Submission #290776

#TimeUsernameProblemLanguageResultExecution timeMemory
290776REALITYNBDetecting Molecules (IOI16_molecules)C++14
9 / 100
1 ms384 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...