Submission #882121

#TimeUsernameProblemLanguageResultExecution timeMemory
882121androDetecting Molecules (IOI16_molecules)C++14
9 / 100
1 ms600 KiB
#include <bits/stdc++.h> #include "molecules.h" using namespace std; std::vector<int> find_subset(int l, int u, std::vector<int> w) { multiset<pair<long long,long long>>ms; int n=w.size(); for(int i=0;i<n;i++)ms.insert({w[i],i}); vector<int>ans; while(l>0){ auto lb=ms.lower_bound({l,(long long)-1e18}); if(lb==ms.end()){ lb--; if(lb==ms.begin())return {}; } else { pair<int,int>B=*lb; ans.push_back(B.second); u-=B.first; if(u<0)return {}; break; } pair<int,int>A=*lb; l-=A.first; u-=A.first; if(u<0)return {}; //cout<<l<<" "<<u; //cout<<endl; ans.push_back(A.second); ms.erase(A); } return ans; }/* signed main(){ for(auto it:find_subset(14, 15, {5, 5, 6}))cout<<it<<" "; }*/
#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...