Pagini recente » Cod sursa (job #672165) | Cod sursa (job #532803) | Cod sursa (job #520781) | Cod sursa (job #183315) | Cod sursa (job #723499)
Cod sursa(job #723499)
#include<fstream>
#include<set>
#include<queue>
#define _NM 200010
using namespace std;
int A[_NM];
struct greater_A
{
bool operator()(int i, int j)
{return A[i]>A[j];}
};
int main()
{
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
priority_queue<int,vector<int>,greater_A> pq;
set<int> del;
int nOp; fin>>nOp;
for (int i=1;i<=nOp;i++)
{
int op; fin>>op;
switch(op)
{
case 1:
static int j=0;
fin>>A[++j];
pq.push(j);
break;
case 2:
int poz; fin>>poz;
del.insert(poz);
break;
case 3:
while (del.count(pq.top())!=0) pq.pop();
fout<<A[pq.top()]<<'\n';
}
}
return 0;
}