Pagini recente » Cod sursa (job #631596) | Cod sursa (job #2515201) | Cod sursa (job #1146908) | Cod sursa (job #3206307) | Cod sursa (job #870233)
Cod sursa(job #870233)
#include<stdio.h>
int n,m,v[100002],a,b,st,dr,mij,r,i,x;
int main(){
freopen("cautbin.in","rt",stdin);
freopen("cautbin.out","wt",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",&a,&b);
st=1;dr=n;
while(st<=dr){
mij=st+(dr-st)/2;
if (b<v[mij])dr=mij-1;
else st=mij+1;
}
if (a==0){
if (v[dr]==b)x=dr;
else x=-1;
} else
if (a==1)x=dr;
else x=st;
printf("%d\n",x);
}
fclose(stdin);
fclose(stdout);
return 0;
}