Pagini recente » Cod sursa (job #3252283) | Cod sursa (job #2612084) | Cod sursa (job #2783766) | Cod sursa (job #3003158) | Cod sursa (job #1491179)
#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <unordered_map>
using namespace std;
int v[200000];
unordered_map <int, int> my_hash;
priority_queue <int, vector<int>, greater<int> > my_heap;
int main(int argc, char *argv[]) {
freopen ("heapuri.in", "r", stdin);
freopen ("heapuri.out", "w", stdout);
int n;
cin >> n;
int i, crt = 0;
for (i = 0 ; i < n; ++i) {
int op;
cin >> op;
if (op == 1) {
int val;
cin >> val;
v[crt++] = val;
my_heap.push(val);
} else if (op == 2) {
int val;
cin >> val;
my_hash[v[val - 1]] = 1;
} else if (op == 3) {
while (my_hash[my_heap.top()] > 0) {
my_hash[my_heap.top()] = 0;
my_heap.pop();
}
cout << my_heap.top() << "\n";
}
}
return 0;
}