Pagini recente » Cod sursa (job #737414) | Cod sursa (job #66499) | Cod sursa (job #2061146) | Cod sursa (job #1165263) | Cod sursa (job #1772900)
#include <stdio.h>
int v[100001];
int main(){
FILE *fin, *fout;
fin=fopen("cautbin.in", "r");
fout=fopen("cautbin.out", "w");
int n, m, cif, x;
fscanf(fin,"%d", &n);
for(i=1;i<=n;i++)
fscanf(fin,"%d", &v[i]);
fscanf(fin,"%d", &m);
for(i=1;i<=m;i++){
fscanf(fin,"%d%d", &cif, &x);
if(cif==0){
int st=1, dr=n;
while(st<=dr){
int mijl=(st+dr)/2;
if(v[mijl]<x)
st=mijl+1;
else
dr=mijl-1;
}
if(st<=n && v[st]==x)
fprintf(fout,"%d\n", st);
else
fprintf(fout,"-1\n");
}
else if(cif==1){
int st=1, dr=n;
while(st<=dr){
int mijl=(st+dr)/2;
if(v[mijl]<=x)
st=mijl+1;
else
dr=mijl-1;
}
if(dr<=n && v[dr]==x)
fprintf(fout,"%d\n", dr);
else
fprintf(fout,"-1\n");
}
else if(cif==2){
int st=1, dr=n;
while(st<=dr){
int mijl=(st+dr)/2;
if(v[mijl]<=x)
st=mijl+1;
else
dr=mijl-1;
}
if(st<=n && v[st]==x)
fprintf(fout,"%d\n", st);
else
fprintf(fout,"-1\n");
}
}
return 0;
}