제출 #297194

#제출 시각아이디문제언어결과실행 시간메모리
297194jeroenodbDetecting Molecules (IOI16_molecules)C++14
19 / 100
1 ms416 KiB
#include "molecules.h" #include <algorithm> using namespace std; struct we{ int w, id; bool operator<(const we& o) { return w<o.w; } }; std::vector<int> find_subset(int l, int u, std::vector<int> w) { int n = w.size(); vector<we> mw; mw.reserve(n); for(int i=0;i<n;++i) mw.push_back({w[i],i}); sort(mw.begin(),mw.end()); long long sum=0; int i; for(i=0;i<n;++i) { sum+=mw[i].w; if(sum>=l) break; } if(sum<l) return vector<int>(0); if(sum>=l and sum<=u) { vector<int> ans; for(int k=0;k<=i;++k) { ans.push_back(mw[k].id); } return ans; } sum-=mw[i].w; for(int j=0;n-1-j>=i;++j) { sum-=mw[j].w; sum+=mw[n-1-j].w; if(sum>=l and sum <=u) { vector<int> ans; for(int k=j+1;k<i;++k) { ans.push_back(mw[k].id); } for(int k=n-j-1;k<n;++k) { ans.push_back(mw[k].id); } return ans; } } return vector<int>(0); }
#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...