Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. struct nn{
  4.     int x;
  5.     int ind;
  6. };
  7. bool cmp(nn a,nn b){
  8.     if(a.x>b.x){
  9.         return a.x>b.x;
  10.     }
  11.     return b.x>a.x;
  12. }
  13.  
  14. int main()
  15. {
  16.     ios_base::sync_with_stdio(false);
  17.     nn a[100000];
  18.    int ans[100000];
  19.     int n;
  20.     cin>>n;
  21.     for(int i=0;i<n;i++){
  22.         cin>>a[i].x;
  23.     }
  24.     int m;
  25.     cin>>m;
  26.     nn b[100000];
  27.     for(int i=0;i<m;i++){
  28.         cin>>b[i].x;
  29.         b[i].ind=i;
  30.     }
  31.     sort(b,b+m,cmp);
  32.     for(int i=0;i<n;i++){
  33.         int h=((upper_bound(b,b+m,a[i],cmp))-b);
  34.         if(h>0 && (abs(b[h-1].x-a[i].x)<abs(b[h].x-a[i].x))){
  35.            h--;
  36.         }
  37.         ans[i]=b[h].ind+1;
  38.     }
  39.     for(int i=0;i<n;i++){
  40.         cout<<ans[i]<<" ";
  41.     }
  42.    return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement