Pagini recente » Cod sursa (job #2301773) | Cod sursa (job #412402) | Cod sursa (job #2179515) | Cod sursa (job #2939201) | Cod sursa (job #3163601)
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>
using namespace std;
priority_queue<int, vector<int>, greater<int> > num;
priority_queue<int, vector<int>, greater<int> > minim;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
vector<int> poz;
int main()
{
int n;
fin >> n;
poz.resize(n);
int n1 = 1;
for(int i = 0; i < n; i++)
{
int cer, x;
fin >> cer;
if(cer == 1)
{
fin >> x;
num.push(x);
poz[n1++] = x;
}
else if(cer == 2)
{
fin >> x;
minim.push(poz[x]);
}
else
{
while(!num.empty() && !minim.empty() && num.top() == minim.top())
{
num.pop();
minim.pop();
}
fout << num.top() << "\n";
}
}
return 0;
}