Advertisement
nontawat1996

1013.ขีปนาวุธเกาหลีเหนือ ภาค ๒ (connecting)

Oct 12th, 2012
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.49 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. long long dataa[200005][2]= {0},datab[200005][2]= {0},maxb=-1,want,wantdis;
  5. int na,nb;
  6. int cmp(const void *a,const void *b)
  7. {
  8.     long long *aa=(long long*)a;
  9.     long long *bb=(long long *)b;
  10.     if(aa[0]>bb[0]) return 1;
  11.     else return -1;
  12. }
  13. int main()
  14. {
  15.     int i,low,high,mid,j;
  16.     scanf("%d%d%lld",&na,&nb,&want);
  17.     for(i=0; i<na; i++)
  18.     {
  19.         scanf("%lld",&dataa[i][0]);
  20.         dataa[i][1]=i+1;
  21.     }
  22.     for(i=0; i<nb; i++)
  23.     {
  24.         scanf("%lld",&datab[i][0]);
  25.         datab[i][1]=i+1;
  26.     }
  27.  
  28.     qsort(dataa,na,sizeof(dataa[0]),cmp);
  29.  
  30.     //for(i=0;i<na;i++) printf("%d ",dataa[i]);
  31.     for(i=0; i<na; i++)
  32.     {
  33.         wantdis=dataa[i][0]-want;
  34.         if(wantdis<0) wantdis*=-1;
  35.         //printf("want : %d\n",wantdis);
  36.         low=0;
  37.         high=nb-1;
  38.         while(low<=high)
  39.         {
  40.             mid=(high+low)/2;
  41.             if(wantdis<datab[mid][0]) high=mid-1;
  42.             else if(wantdis>datab[mid][0]) low=mid+1;
  43.             else break;
  44.         }
  45.         if(wantdis==datab[mid][0])
  46.         {
  47.             printf("%lld %lld",dataa[i][1],datab[mid][1]);
  48.             /*int x,y;
  49.             //printf("%lld %lld",dataa[i],datab[mid]);
  50.             for(j=0;j<200000;j++)
  51.             {
  52.                 if(dataa[i]==a[j]) x=j+1;
  53.                 if(datab[mid]==b[j]) y=j+1;
  54.             }
  55.             printf("%d %d",x,y);*/
  56.  
  57.             return 0;
  58.         }
  59.  
  60.     }
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement