Submission #525899

#TimeUsernameProblemLanguageResultExecution timeMemory
525899buidangnguyen05Detecting Molecules (IOI16_molecules)C++17
19 / 100
1 ms224 KiB
/* input */ #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 2e5 + 10; vector<int> find_subset(int l, int r, vector<int> w) { int n = w.size(); pair<int, int> a[n + 1]; for (int i = 0; i < n; ++i) a[i] = make_pair(w[i], i); sort (a, a + n); ll cur = 0; deque<int> ans; int R = n - 1; for (; ~R; --R) { cur += a[R].first; ans.push_back(R); if (cur >= l && cur <= r) { vector<int> ret; for (int i : ans) ret.push_back(a[i].second); return ret; } if (cur > r) break; } int L = 0; while (L < R && cur > r) { cur -= w[ans.back()]; ans.pop_back(); cur += a[L].first; ans.push_front(L++); } if (cur > r || cur < l) return vector<int>(0); vector<int> ret; for (int i : ans) ret.push_back(a[i].second); return ret; }
#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...