제출 #655040

#제출 시각아이디문제언어결과실행 시간메모리
655040benjaminkleynDetecting Molecules (IOI16_molecules)C++17
100 / 100
111 ms13024 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int max_n = 100000; vector<int> find_subset(int l, int u, vector<int> w) { int n = w.size(); vector<pair<int,int>> W(n); for (int i = 0; i < n; i++) W[i] = {w[i], i}; sort(W.begin(), W.end()); set<int> res; ll sum = 0; for (int i = n - 1; i >= 0 && sum < l; i--) { sum += W[i].first; res.insert(W[i].second); } for (int i = 0; i < n && sum > u; i++) { if (res.find(W[n-1-i].second) == res.end()) break; sum += W[i].first - W[n-1-i].first; res.erase(W[n-1-i].second); res.insert(W[i].second); } if (sum < l || u < sum) return vector<int>(0); vector<int> ans; for (int i : res) ans.push_back(i); return ans; }
#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...