Pagini recente » Cod sursa (job #597845) | Cod sursa (job #678895) | Cod sursa (job #1121789) | Cod sursa (job #1514825) | Cod sursa (job #1814769)
#include <iostream>
#include <fstream>
#include <queue>
#include <map>
using namespace std;
ifstream ka("heapuri.in");
ofstream ki("heapuri.out");
const int N_MAX = 200000;
int n, c, x;
int elemente[N_MAX + 1];
map<int, int> sters;
priority_queue<int, vector<int>, greater<int> > coada, coada2;
int main()
{
ka >> n;
while(n--)
{
ka >> c;
if(c == 1)
{
ka >> x;
elemente[++elemente[0]] = x;
coada.push(x);
//sters[x]
}
else if(c == 2)
{
ka >> x;
sters[elemente[x]]++;
}
else //if(c == 3)
{
while(sters[coada.top()] != 0)
{
sters[coada.top()]--;
coada.pop();
}
/*while(!coada.empty())
{
cout << coada.top() << " ";
coada2.push(coada.top());
coada.pop();
}
cout << '\n' << "da";
while(!coada2.empty())
{
coada.push(coada2.top());
coada2.pop();
}*/
ki << coada.top() << '\n';
//cout << coada;
//coada.pop();
}
}
}