Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int dataa[200005][2]= {0},datab[200005][2]= {0};
- long long want,wantdis;
- int na,nb;
- int cmp(const void *a,const void *b)
- {
- int *aa=(int *)a;
- int *bb=(int *)b;
- if(aa[0]>bb[0]) return 1;
- else return -1;
- }
- int main()
- {
- int i,low,high,mid,j;
- scanf("%d%d%lld",&na,&nb,&want);
- for(i=0; i<na; i++)
- {
- scanf("%d",&dataa[i][0]);
- dataa[i][1]=i+1;
- }
- for(i=0; i<nb; i++)
- {
- scanf("%d",&datab[i][0]);
- datab[i][1]=i+1;
- }
- qsort(dataa,na,sizeof(dataa[0]),cmp);
- //for(i=0;i<na;i++) printf("%d ",dataa[i]);
- for(i=0; i<na; i++)
- {
- wantdis=want-dataa[i][0];
- if(wantdis>=1)
- {
- //printf("want : %d\n",wantdis);
- low=0;
- high=nb-1;
- while(low<=high)
- {
- mid=(high+low)/2;
- if(wantdis<datab[mid][0]) high=mid-1;
- else if(wantdis>datab[mid][0]) low=mid+1;
- else break;
- }
- if(wantdis==datab[mid][0])
- {
- printf("%d %d",dataa[i][1],datab[mid][1]);
- /*int x,y;
- //printf("%lld %lld",dataa[i],datab[mid]);
- for(j=0;j<200000;j++)
- {
- if(dataa[i]==a[j]) x=j+1;
- if(datab[mid]==b[j]) y=j+1;
- }
- printf("%d %d",x,y);*/
- return 0;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement