Pagini recente » Cod sursa (job #2644737) | Cod sursa (job #410522) | Cod sursa (job #12551) | Cod sursa (job #548242) | Cod sursa (job #805120)
Cod sursa(job #805120)
#include<stdio.h>
int i,j,k,v[100001],n,c,pas,x;
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
scanf("%d",&k);
for(j=1;j<=k;j++)
{
scanf("%d%d",&c,&x);
if(c==0)
{i=0;pas=1<<16;
while(pas!=0)
{if(i+pas<=n&&v[i+pas]<=x)
i+=pas;
pas/=2;
}
if(v[i]==x)
printf("%d\n",i);
else
printf("-1\n");
}
else
if(c==1)
{i=0;pas=1<<16;
while(pas!=0)
{if(i+pas<=n&&v[i+pas]<=x)
i+=pas;
pas/=2;
}
printf("%d\n",i);
}
else
if(c==2)
{i=0;pas=1<<16;
while(pas!=0)
{if(i+pas<=n&&v[i+pas]<x)
i+=pas;
pas/=2;
}
printf("%d\n",i+1);
}
}
return 0;
}