Pagini recente » Cod sursa (job #239269) | Cod sursa (job #746118) | Cod sursa (job #1927202) | Cod sursa (job #2047241) | Cod sursa (job #2925342)
#include <bits/stdc++.h>
#define N_MAX 200000
using namespace std;
vector<int> v, t;
vector<int>::iterator it;
int n, op, val;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
bool mini(int a, int b)
{
return a > b;
}
int main()
{
v.reserve(N_MAX);
t.reserve(N_MAX);
make_heap(v.begin(), v.end(), mini);
fin >> n;
for(int i = 0; i < n; i++)
{
fin >> op;
if(op == 1)
{
fin >> val;
v.push_back(val);
t.push_back(val);
push_heap(v.begin(), v.end(), mini);
}
else if(op == 2)
{
fin >> val;
val--;
it = find(v.begin(), v.end(), t.at(val));
pop_heap(it, v.end(), mini);
v.pop_back();
}
else
{
cout << v.front() << '\n';
}
}
fin.close();
fout.close();
return 0;
}