제출 #350717

#제출 시각아이디문제언어결과실행 시간메모리
350717spike1236Detecting Molecules (IOI16_molecules)C++14
9 / 100
1 ms384 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define mp make_pair #define f first #define s second #define ll long long #define ld long double #define all(_v) _v.begin(), _v.end() #define sz(_v) (int)_v.size() #define pii pair <int, int> #define pll pair <ll, ll> #define veci vector <int> #define vecll vector <ll> veci find_subset(int asd, int asdas, veci w) { ll l = asd, r = asdas; int n = sz(w); vector <pair <ll, int> > a; for(int i = 0; i < n; ++i) a.pb(mp(w[i], i)); sort(all(a)); multiset <pair <ll, int> > st; ll sum = 0; for(int i = 0; i < n; ++i) { if(sum + a[i].f <= r) { sum += a[i].f; st.insert(a[i]); } else { if(!st.empty() && sum - (*st.rbegin()).f + a[i].f <= r) { auto it = *st.rbegin(); st.erase(--st.end()); sum -= it.f; sum += a[i].f; st.insert(a[i]); } } if(l <= sum && sum <= r) { veci res; for(auto it : st) res.pb(it.s); return res; } } 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...