Pagini recente » Cod sursa (job #643527) | Cod sursa (job #2489306) | Cod sursa (job #1700090) | Cod sursa (job #1364557) | Cod sursa (job #2918036)
#include <bits/stdc++.h>
#include <ext/pb_ds/priority_queue.hpp>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
const int INF = 1e9;
int n;
__gnu_pbds :: priority_queue<int, greater<int>> pq;
vector<__gnu_pbds :: priority_queue<int, greater<int>> :: point_iterator> history;
int main() {
fin >> n;
for(int i = 1; i <= n; i++) {
int task;
fin >> task;
if(task == 1) {
int x;
fin >> x;
history.push_back(pq.push(x));
} else if(task == 2) {
int x;
fin >> x;
x--;
pq.modify(history[x], -INF);
pq.pop();
} else {
fout << pq.top() << '\n';
}
}
return 0;
}