# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
227595 | 2020-04-28T03:47:56 Z | AASG | Detecting Molecules (IOI16_molecules) | C++11 | 0 ms | 0 KB |
#include "molecules.h" using namespace std; vector<int> find_subset(int l, int u, vector<int> w) { int n=w.size(); vector<pair<long long ,int> >r; vector<int> rr; for(int i=0;i<n;i++){ r.push_back(make_pair(w[i],i)); } sort(r.begin(),r.end()); long long rt=0; int p1=0,p2=n-1;bool x=false; while(rt<=u){ if(rt+r[p2].first<=u){ rr.push_back(r[p2].second); p2--; } else { rr.push_back(r[p1].second); p1++; } if(rt>=l && rt<=u){x=true; break; } } if(!x)rr.clear(); return rr; }