Advertisement
Josif_tepe

Untitled

Apr 14th, 2024
740
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main() {
  4.     int n;
  5.     cin >> n;
  6.  
  7.     int maski[n];
  8.     for(int i = 0; i < n; i++) {
  9.         cin >> maski[i];
  10.     }
  11.     sort(maski, maski + n);
  12.     int m;
  13.     cin >> m;
  14.     int zenski[m];
  15.     for(int i = 0; i < m; i++) {
  16.         cin >> zenski[i];
  17.     }
  18.     sort(zenski, zenski + m);
  19.  
  20.     int R, k;
  21.     cin >> R >> k;
  22.     int res = 0;
  23.     for(int i = 0; i + k - 1 < m; i++) {
  24.         int najgolem = zenski[i] + R;
  25.         int najmal = zenski[i + k - 1] - R;
  26.  
  27.         int L = 0, R = n;
  28.         while(L < R) {
  29.             int mid = L + (R - L) / 2;
  30.             if(najmal <= maski[mid]) {
  31.                 R = mid;
  32.             }
  33.             else {
  34.                 L = mid + 1;
  35.             }
  36.         }
  37.         if(L < n and maski[L] < najmal) {
  38.             L++;
  39.         }
  40.         int id2 = L;
  41.         L = 0, R = n;
  42.         while(L < R) {
  43.             int mid = L + (R - L) / 2;
  44.             if(najgolem >= maski[mid]) {
  45.                 L = mid + 1;
  46.             }
  47.             else {
  48.                 R = mid;
  49.             }
  50.         }
  51.         if(L < n and maski[L] <= najgolem) {
  52.             L++;
  53.         }
  54.         res = max(res, L - id2);
  55.        
  56.     }
  57.     cout << res << endl;
  58.     return 0;
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement