Pagini recente » Cod sursa (job #579632) | Cod sursa (job #3151291) | Cod sursa (job #3126098) | Cod sursa (job #2655208) | Cod sursa (job #560078)
Cod sursa(job #560078)
#include<stdio.h>
FILE*f=fopen("cautbin.in","r");
FILE*g=fopen("cautbin.out", "w");
int n,m,a,x,p,u,i,q;
int v[100001];
int main (){
fscanf(f, "%d", &n);
for(i=1;i<=n;i++){
fscanf(f, "%d", &v[i]);
}
fscanf(f,"%d", &q);
for(i=1;i<=q;i++){
fscanf(f, "%d %d", &a, &x);
p=1;
u=n;
if (a==0){
while (p<=u){
m=u-(u-p)/2;
if (x>=v[m])
p=m+1;
else{
u=m-1;
}
}
if(x==v[u])
fprintf(g,"%d\n", u);
else
fprintf(g,"-1\n");
}
if(a==1){
while (p<=u){
m=u-(u-p)/2;
if (x>=v[m])
p=m+1;
else{
u=m-1;
}
}
fprintf(g,"%d\n", u);
}
if(a==2){
while (p<=u){
m=u-(u-p)/2;
if (x>v[m])
p=m+1;
else{
u=m-1;
}
}
fprintf(g,"%d\n", u+1);
}
}
fclose(f);
fclose(g);
return 0;
}