제출 #910043

#제출 시각아이디문제언어결과실행 시간메모리
910043pragmatistDetecting Molecules (IOI16_molecules)C++17
100 / 100
39 ms5460 KiB
#include <bits/stdc++.h> using namespace std; const int N = (int)2e5 + 7; int n; pair<int, int> a[N]; int L, R; vector<int> find_subset(int _l, int _u, vector<int> _w) { n = (int)_w.size(); L = _l; R = _u; for(int i = 0; i < n; ++i) { a[i+1] = {_w[i], i}; } sort(a+1, a+1+n); if(a[1].first >= L && a[1].first <= R) { return {a[1].second}; } if(a[n].first >= L && a[n].first <= R) { return {a[n].second}; } if(R < a[1].first) { return {}; } int j = 1; long long cur = 0; for(int i = 1; i <= n; ++i) { cur += a[i].first; while(j<i && cur-a[j].first >= L) { cur -= a[j++].first; } if(cur >= L && cur <= R) { vector<int> ans; for(int k = j; k <= i; ++k) { ans.push_back(a[k].second); } return ans; } } return {}; }
#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...