Pagini recente » Cod sursa (job #2441023) | Cod sursa (job #580787) | Cod sursa (job #2204383) | Cod sursa (job #1031499) | Cod sursa (job #950117)
Cod sursa(job #950117)
#include<stdio.h>
int v[200005];
bool b[200005];
int main()
{
freopen("heapuri.in","r",stdin);
freopen("heapuri.out","w",stdout);
int n,i,j,m,l=0,p=1,a,min=0,t,c,l2,m2;
scanf("%d",&n);
min=1000000000;
for(i=1;i<=n;i++)
{
scanf("%d",&c);
if(c==1)
{
scanf("%d",&m);
l++;
v[l]=m;
if(m<min)
{
min=m;
t=1;
}
}
else
if(c==2)
{
scanf("%d",&m);
p=m;
if(v[m]==min)
{
t=0;
}
b[m]=1;
}
else
{
if(t==1)
printf("%d\n",min);
else
{
m2=min;
min=1000000000;
for(j=p+1;j<=l;j++)
{
if(v[j]<min && b[j]!=1)
{
min=v[j];
if(min==m2+1)
{
t=1;
break;
}
}
}
if(t==0)
for(j=p-1;j>0;j--)
if(v[j]<min && b[j]!=1)
{
min=v[j];
if(min==m2+1)
break;
}
t=1;
printf("%d\n",min);
}
}
}
return 0;
}