Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define MAXN 150000
  4. typedef long long ll;
  5. typedef pair<int,int> pii;
  6.  
  7. ll n,m,a[MAXN],x[MAXN];
  8.  
  9. bool pos(int v,int i) {return (a[i] - (v + 1) >= x[v]);}
  10. ll bin_search(int ind)
  11. {
  12.     int l = 0, r = m;
  13.     while(l < r)
  14.     {
  15.         if(r - l == 1)
  16.             return (pos(r,ind) ? r + 1 : l + 1);
  17.         int mid = (l + r) >> 1;
  18.         if(pos(mid,ind))
  19.             l = mid;
  20.         else
  21.             r = mid;
  22.     }
  23.     return l + 1;
  24. }
  25.  
  26.  
  27. int main()
  28. {
  29.     cin >> n;
  30.     for(int i = 0; i < n; i++)
  31.         cin >> a[i];
  32.     cin >> m;
  33.     for(int i = 0; i < m; i++)
  34.         cin >> x[i];
  35.     sort(x, x + m);
  36.    
  37.     for(int i = 0; i < n; i++)
  38.         a[i] -= bin_search(i);
  39.     for(int i = 0; i < n; i++)
  40.         cout << a[i] << " ";
  41.     cout << endl;
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement