# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
319352 | 2020-11-05T01:45:48 Z | mglstew | Detecting Molecules (IOI16_molecules) | C++17 | 0 ms | 0 KB |
#include <bits/stdc++.h> #include "molecules.h" using namespace std; vector<int> find_subset(int l, int u, std::vector<int> w) { vector<pair<int, int> > x; for(i = 0; i < w.size(); i++){ x.push_back(make_pair(w[i], i)); } sort(x.begin(), x.end()); int n = x.size(); int L = 0; int R = 0; long long sum = 0; vector<int> a; while(R < n){ sum += x[R].first; while(sum > u && L <= R){ sum -= x[L].first; L++; } if(sum >= 1){ for(int i = L; i <= R; i++){ a.push_back(w[i]); break; } } R++; } if(a.size() == 0){ a.push_back(0); } return a; }