Pagini recente » Cod sursa (job #2725510) | Cod sursa (job #330104) | Cod sursa (job #2618015) | Cod sursa (job #1391710) | Cod sursa (job #1368152)
#include <stdio.h>
#include <stdlib.h>
int v[100001];
int main()
{
int n,i,q,s,x,pas,k;
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",&q);
for(k=1; k<=q; k++)
{
scanf("%d%d",&s,&x);
if(s==0 || s==1)
{
i=0;
pas=1<<30;
while(pas!=0)
{
if(i+pas<=n && v[i+pas]<=x)
i+=pas;
pas/=2;
}
if(s==1 || (s==0 && v[i]==x))
printf("%d\n",i);
else
printf("-1\n");
}
else
{
i=0;
pas=1<<30;
while(pas!=0)
{
if(i+pas<=n && v[i+pas]<x)
i+=pas;
pas/=2;
}
printf("%d\n",i+1);
}
}
return 0;
}