Pagini recente » Cod sursa (job #2735386) | Cod sursa (job #1220052) | Cod sursa (job #1557700) | Cod sursa (job #1913931) | Cod sursa (job #1133528)
#include <stdio.h>
#include <stdlib.h>
int binarySearch(int *v,int length,int val) {
int i,pas;
for(pas=1;pas<length;pas=pas<<1);
for(i=0;pas;pas=pas>>1) {
if(i+pas < length && v[i+pas] <= val)
i=i+pas;
}
if(v[i] == val)
return i;
return -1;
}
int v[100001];
int main() {
FILE *fin,*fout;
fin=fopen("cautbin.in","r");
fout=fopen("cautbin.out","w");
int index,select,i,N,M,option;
fscanf(fin,"%d",&N);
for(i=0;i<N;i++)
fscanf(fin,"%d",&v[i]);
fscanf(fin,"%d",&M);
for(i=0;i<M;i++) {
fscanf(fin,"%d%d",&option,&select);
index = binarySearch(v,N,select);
printf("%d\n",index);
fprintf(fout,"%d\n",index);
}
return 0;
}