Pagini recente » Cod sursa (job #1520681) | Cod sursa (job #2271768) | Cod sursa (job #1504805) | Cod sursa (job #2078282) | Cod sursa (job #245044)
Cod sursa(job #245044)
#include <stdio.h>
int n,i,a[100],x,m,p;
int cautbin()
{
int m1,m2;
m1=1;
m2=n;
while(x!=a[m1+(m2-m1)/2] && m2-m1>1)
{
if(x>=a[m1+(m2-m1)/2])
m1=m1+(m2-m1)/2;
else
if(x<=a[m1+(m2-m1)/2])
m2=m1+(m2-m1)/2;
}
return m1+(m2-m1)/2;
}
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%d",&a[i]);
scanf("%d",&m);
for(i=1;i<=m;i++)
{
scanf("%d %d",&p,&x);
if(p==0)
{
printf("%d\n",cautbin());
}
if(p==1)
{
printf("%d\n",cautbin());
}
if(p==2)
{
printf("%d\n",cautbin()+1);
}
}
return 0;
}