Pagini recente » Cod sursa (job #185906) | Cod sursa (job #1855269) | Cod sursa (job #125300) | Cod sursa (job #2548733) | Cod sursa (job #382065)
Cod sursa(job #382065)
#include<stdio.h>
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
int M,N,i,v[100001],tip,x,st,dr,mid,j;
scanf("%d",&N);
st=1;
dr=N;
for(i=1;i<=N;i++)
scanf("%d",&v[i]);
scanf("%d",&M);
for(j=1;j<=M;j++)
{
scanf("%d %d",&tip,&x);
if(tip==0)
while(st<dr)
{
mid=(st+dr)/2;
if(x==mid)
{
while(v[mid]==v[mid+1])
mid++;
printf("%d",v[mid]);
break;
}
else if(x<=mid)
dr=mid;
else if(x>=mid)
st=mid;
else if(st>dr)
{ printf("-1");
break;}
}
}
return 0;
}