Pagini recente » Cod sursa (job #1799779) | Cod sursa (job #2652893) | Cod sursa (job #781130) | Cod sursa (job #658866) | Cod sursa (job #449931)
Cod sursa(job #449931)
#include<iostream>
#include<algo.h>
#include<fstream>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
long int v[200001],w[200001],n,m,db,c,a;
long int p;
long int keres()
{
long int kezd=1;
while(kezd<=db&&w[kezd]!=a) kezd++;
return kezd;
}
int main()
{
fin>>n;
m=0;
db=0;
for(long int i=1;i<=n;i++)
{
fin>>c;
switch(c){
case 1:
m++;
fin>>v[m];
db++;
w[db]=v[m];
make_heap(w+1,w+db+1,greater<int>()) ;
break;
case 2:
fin>>a;
a=v[a];
p=keres();
w[p]=w[db];
db--;
make_heap(w+1,w+db+1,greater<int>());
break;
case 3:
fout<<w[1]<<"\n";
}
}
return 0;
}