Pagini recente » Cod sursa (job #149164) | Cod sursa (job #470806) | Cod sursa (job #3272186) | Cod sursa (job #374011) | Cod sursa (job #2514815)
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
typedef pair<int, int> pi;
vector <int> v;
priority_queue<pi, vector<pi>, greater<pi> > q;
const long long inf =(1<<30);
int main()
{
ifstream f("heapuri.in");
ofstream g("heapuri.out");
int n;
f>>n;
int el=0;
for (int i=1; i<=n; i++)
{
int operatie;
f>>operatie;
switch (operatie)
{
case 1:
int e;
f>>e;
v.push_back(e);
q.push(make_pair(e, el));
el++;
break;
case 2:
f>>e;
v[e-1]=inf;
break;
default:
while (v[q.top().second]==inf)
q.pop();
g<<q.top().first<<"\n";
break;
}
}
return 0;
}