Pagini recente » Cod sursa (job #205685) | Cod sursa (job #845047) | Cod sursa (job #2722360) | Cod sursa (job #3176420) | Cod sursa (job #1306646)
#include<fstream>
using namespace std;
int main()
{
ifstream f("heapuri.in");
ofstream g("heapuri.out");
long n=0,j,a,b,ko,m,x,t[200000],k,mi[200000],h=0;
int c;
f>>m;
for(k=1;k<=m;k++)
{
f>>c;
if(c==1)
{
f>>x;
t[++n]=x;
a=1;
b=h;
ko=0;
while(a<=b)
{
ko=(a+b)/2;
if(x<mi[ko])
b=--ko;
else if(x>mi[ko])
a=ko+1;
else a=b+1;
}
for(j=h+1;j>ko+1;j--)
mi[j]=mi[j-1];
mi[ko+1]=x;
h++;
}
else if(c==2)
{
f>>x;
x=t[x];
a=1;
b=h;
ko=0;
while(a<=b)
{
ko=(a+b)/2;
if(x<mi[ko])
b=--ko;
else if(x>mi[ko])
a=ko+1;
else {
a=b+1;
for(j=ko;j<h;j++)
mi[j]=mi[j+1];
h--;
}
}
}
else g<<mi[1]<<"\n";
}
f.close();
g.close();
return 0;
}