func_code_string: #include <bits/stdc++.h>   using namespace std;   const int INF = 1e9;   const int N = 1e7 + 100;   unordered_map<int, int> vis, Cnt;   vector<int> Mice;   vector<int> Cheese;   int main() {     int n, m, y0, y1;     scanf( %d%d%d%d , &n, &m, &y0, &y1);     for (int i = 0; i < n; i++) {       int x;       scanf( %d , &x);       Mice.push_back(x);     }     for (int i = 0; i < m; i++) {       int x;       scanf( %d , &x);       Cheese.push_back(x);     }     int Ans = 0;     for (int x : Mice) {       int L = INF, R = INF;       auto it = lower_bound(Cheese.begin(), Cheese.end(), x);       if (it != Cheese.end()) R = *it;       if (it != Cheese.begin()) it--;       L = *it;       int cur = min(abs(x - L), abs(R - x));       if (x - L == R - x) {         if (!vis.count(L))           vis[L] = x - L, Cnt[L] = 1;         else {           if (vis[L] == x - L)             Cnt[L]++;           else {             if (!vis.count(R))               vis[R] = cur, Cnt[R] = 1;             else if (vis[R] > cur) {               Ans += vis[R];               vis[R] = cur;               Cnt[R] = 1;             } else if (vis[R] == cur)               Cnt[R]++;             else               Ans++;           }         }       } else {         int d = (x - L < R - x ? L : R);         if (!vis.count(d))           vis[d] = cur, Cnt[d] = 1;         else {           if (vis[d] > cur) {             Ans += Cnt[d];             vis[d] = cur;             Cnt[d] = 1;           } else if (vis[d] < cur)             Ans++;           else             Cnt[d]++;         }       }     }     printf( %d n , Ans);     return 0;   }   