int bsearch1(int array[], int start, int end, int data) { if(start > end) return -1; int middle = start + end ; middle = middle / 2 ; if(array[middle]<data) return bsearch1(array,middle+1,end,data); if(array[middle]>data) return bsearch1(array,start,middle-1,data); while((middle!=-1)&&(array[middle]==data)) { middle--; } return middle+1; }
int main() { int u,v; for(u=0;u<10;u++) c[u]=0; sieve1(100005); sieve2(100005); // printf("--\n"); // return 0; // for(u=0;u<10;u++) // printf("%d-->%d\n",u,c[u]); scanf("%d",&v); for(u=0;u<v;u++) { int a=0,b=0,d=0,i=0,j=0,sum=0; scanf("%d%d%d",&a,&b,&d); // sum=0; // for(i=a;i<=b;i++) // { // if(mat[i]==1 && chkd(i,d)) // { // sum++; // } // } int b1,b2; b1=bsearch1(a,d); b2=bsearch2(b,d); // printf("b1==%d b2==%d\n",b1,b2); printf("%d\n",b2-b1+1); } return 0; }
int main() { int n,q,query; scanf("%d %d",&n,&q); int *array = (int*) malloc (n*sizeof(int)); int _n; for(_n = 0; _n<n; _n++) scanf("%d",&array[_n]); while(q>0) { scanf("%d",&query); printf("%d\n",bsearch1(array,0,n,query)); q--; } return 0; }