# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
138284 | 2019-07-29T16:47:56 Z | arthurconmy | Detecting Molecules (IOI16_molecules) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> #ifndef ARTHUR_LOCAL #include "molecules.h" #endif using namespace std; vector<int> find_subset(int l, int u, vector<int> W) { vector<int> use; int cur = 0; for(int i=0; i<W.size(); i++) { int w = W[i]; if(w>=l && w<=u) { return {w}; } if(w<l) { use.push_back(i); cur += w; if(cur > u) break; } } while(cur>u) { if(use.empty()) return {}; cur -= W[use.back()]; use.pop_back(); } if(use.empty() || !(cur>=l) || !(cur<=r)) return {}; else return use; }