1 #include <stdio.h> 2 #include <time.h> 3 int a[10000002],b[10000002],c[20000005]; 4 int main(){ 5 int aa,bb,cc,n,ask; 6 int i,j,k; 7 scanf("%d %d",&aa,&bb); 8 for(i=0;i<aa;i++){ 9 scanf("%d",&a[i]); 10 } 11 for(i=0;i<bb;i++){ 12 scanf("%d",&b[i]); 13 } 14 fprintf(stderr,">>> stage 1 scanf complete: %d\n",clock()); 15 i=0,j=0,k=0,cc=aa+bb; 16 while(i<aa && j<bb){ 17 if(a[i]<=b[j]){ 18 c[k]=a[i]; 19 i++,k++; 20 }else{ 21 c[k]=b[j]; 22 j++,k++; 23 } 24 } 25 while(i<aa){ 26 c[k]=a[i]; 27 i++,k++; 28 } 29 while(j<bb){ 30 c[k]=b[j]; 31 j++,k++; 32 } 33 for(i=0;i<cc;i++){ 34 if(i!=0){ 35 putchar(' '); 36 } 37 printf("%d",c[i]); 38 } 39 fprintf(stderr,">>> stage 1 printf complete: %d\n",clock()); 40 putchar('\n'); 41 scanf("%d",&n); 42 int L,R,now; 43 char found; 44 int ll,rr; 45 for(i=1;i<=n;i++){ 46 L=0,R=cc-1,now,found=0; 47 scanf("%d",&ask); 48 while(L<=R){ 49 now=(L+R)/2; 50 if(c[now]==ask){ 51 found=1; 52 break; 53 }else if(c[now]>ask){ 54 R=now-1; 55 }else{ 56 L=now+1; 57 } 58 } 59 if(!found){ 60 puts("Number Not Found"); 61 }else{ 62 for(ll=now;ll>=0 && c[ll]==ask;ll--); 63 if(ll<0){ll=1;}else{ll+=2;} 64 for(rr=now;rr<cc && c[rr]==ask;rr++); 65 if(rr>=cc){rr=cc;} 66 for(j=ll;j<=rr;j++){ 67 if(j!=ll){ 68 putchar(' '); 69 } 70 printf("%d",j); 71 } 72 putchar('\n'); 73 } 74 } 75 fprintf(stderr,">>> exit: %d\n",clock()); 76 return 0; 77 }