#include #include #include #include #include #include #include using namespace std; int main() { int q, k, type; long long v; scanf("%d %d", &q, &k); priority_queue que1; priority_queue, greater> que2; vector nums, ans; for (int i = 0; i < q; i++) { scanf("%d", &type); if (type == 1) {; scanf("%lld", &v); que1.push(v); if (que1.size() >= k) { auto x = que1.top(); que1.pop(); que2.push(x); } } else { if (que2.empty()) { ans.emplace_back(-1); } else { auto x = que2.top(); que2.pop(); ans.emplace_back(x); } } } for (auto x : ans) { printf("%lld\n", x); } return 0; }