Pagini recente » Cod sursa (job #698238) | Cod sursa (job #2357053) | Cod sursa (job #1650574) | Cod sursa (job #1573489) | Cod sursa (job #284376)
Cod sursa(job #284376)
#include <stdio.h>
int n,m,v[100001],i,j,p,x,o;
int cautbin(int s,int d)
{
int m;
while(s<d)
{
m=(s+d)/2;
if(x<v[m])
d=m;
else
if(x>v[m])
s=m+1;
else
if(x==v[m])
return m;
}
p=d;
return -1;
}
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",&m);
for(i=1;i<=m;i++)
{
scanf("%d %d",&o,&x);
if(o==0)
printf("%d\n",cautbin(1,n));
else
if(o==1)
{
if(cautbin(1,n)==-1)
printf("%d\n",p-1);
else
printf("%d",cautbin(1,n));
}else
{
if(cautbin(1,n)==-1)
printf("%d\n",p);
else
printf("%d",cautbin(1,n));
}
}
return 0;
}