Pagini recente » Cod sursa (job #2835030) | Cod sursa (job #2867492) | Cod sursa (job #2317032) | Cod sursa (job #130967) | Cod sursa (job #3163295)
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
//Varianta cu priority_queue
vector<int> v;
priority_queue<int,vector<int>,greater<int>> pq1,pq2;
int main()
{
int n,i,op,x;
fin>>n;
v.resize(1);
for(i=0;i<n;i++)
{
fin>>op;
if(op==1)
{
fin>>x;
pq1.push(x);
v.push_back(x);
}
else if(op==2)
{
fin>>x;
pq2.push(v[x]);
}
else
{
while(!pq2.empty() && pq2.top()==pq1.top())
{
pq1.pop();
pq2.pop();
}
fout<<pq1.top()<<'\n';
}
}
return 0;
}