https://yukicoder.me/problems/no/649
解法
https://yukicoder.me/submissions/235229
平衡二分木を使って、K番目の数を取得できるMultiSetを作る。
これが作れれば、あとは使うだけ。
K番目の数を取得できるsetはある。
int Q, K; SuperMultiSet<ll> rbst; //--------------------------------------------------------------------------------------------------- void _main() { cin >> Q >> K; rep(q, 0, Q) { int t; cin >> t; if (t == 1) { ll v; cin >> v; rbst.insert(v); } else { int n = rbst.size(); if (n < K) printf("-1\n"); else { ll ans = rbst.getAt(K - 1); rbst.erase(ans); printf("%lld\n", ans); } } } }