Pagini recente » Cod sursa (job #656168) | Cod sursa (job #52817) | Cod sursa (job #2349175) | Cod sursa (job #1819235) | Cod sursa (job #1247125)
#include<stdio.h>
int v[100001],n;
int f0 ( int numar ){
int i=0,pas=1<<17,ver=1;
while(pas!=0){
if(i+pas<=n)
if(v[i+pas]<=numar){
i+=pas;
ver=0;
}
pas>>=1;
}
if(v[i]==numar)
return i;
else
return -1;
}
int f1 ( int numar ){
int i=0;
int pas=1<<17;
while(pas!=0){
if(i+pas<=n)
if(v[i+pas]<=numar)
i+=pas;
pas>>=1;
}
return i;
}
int f2 ( int numar ){
int i=0,pas=1<<17;
while(pas!=0){
if(i+pas<=n)
if(v[i+pas]<numar)
i+=pas;
pas>>=1;
}
return i+1;
}
int main(){
int i,m,tip,nr,x;
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",&tip,&nr);
if(tip==0)
x=f0(nr);
else
if(tip==1)
x=f1(nr);
else
x=f2(nr);
printf("%d\n",x);
}
return 0;
}