Pagini recente » Cod sursa (job #3258549) | Cod sursa (job #416760) | Cod sursa (job #1274775) | Cod sursa (job #995976) | Cod sursa (job #2457115)
#include <stdio.h>
#include <stdlib.h>
#define NMAX 100000
int v[NMAX];
int main()
{
FILE *fin,*fout;
fin=fopen("cautbin.in","r");
fout=fopen("cautbin.out","w");
int st,dr,n,x,m,p,mij=0,i;
fscanf(fin,"%d",&n); ///nr de elemente din vector
for(i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]); ///sirul de nr
}
fscanf(fin,"%d",&m); ///nr de intrebari
for(i=0;i<m;i++){
fscanf(fin,"%d%d",&p,&x); ///tipul de intrebare si x ul
st=0;
dr=n-1;
while(st<dr){
mij=(st+dr)/2+1;
if(x>=v[mij]){
st=mij;
}
else{
dr=mij+1;
}
}
if(x==v[st]){
fprintf(fout,"%d",st);
}
else{
fprintf(fout,"-1");
}
}
fclose(fin);
fclose(fout);
return 0;
}