Pagini recente » Cod sursa (job #3161244) | Cod sursa (job #2384844) | Cod sursa (job #2214916) | Cod sursa (job #712163) | Cod sursa (job #717630)
Cod sursa(job #717630)
#include <cstdio>
int MI,ST,DR,cod,val,n,m,i,x[100010];
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%d",&n);
for(int i=1 ;i<=n;i++)
scanf("%d",&x[i]);
scanf("%d",&m);
for(;m;m--)
{
scanf("%d%d",&cod,&val);
if(cod == 0)
{
for(ST=1,DR=n+1;DR-ST-1;)
{
MI=(ST+DR)/2;
if(x[MI]<=val)ST=MI;
else
DR=MI;
}
if(x[ST]==val)
printf("%d\n",ST);
else
printf("-1\n");
continue;
}
if(cod == 1)
{
for(ST=1,DR=n+1;DR-ST-1;)
{
MI=(ST+DR)/2;
if(x[MI]<=val)ST=MI;
else
DR=MI;
}
printf("%d\n",ST);
continue;
}
for(ST=1,DR=n+1;DR-ST-1;)
{
MI=(ST+DR)/2;
if(x[MI]<val)ST=MI;
else
DR=MI;
}
printf("%d\n",DR);
}
return 0;
}