func_code_string: #include <bits/stdc++.h>   #pragma comment(linker,  /STACK:102400000,102400000 )   using std::bitset;   using namespace std;   struct point {     long long x, y;     bool operator<(const point &I) const {       return x < I.x || (x == I.x && y < I.y);     }   } a[101000];   long long n;   long long hmi[101000], tmi[101000], hma[101000], tma[101000];   long long judge(double r) {     long long i, j, tem;     long long mmi, mma;     j = 1;     for (i = 1; i <= n; i++) {       while (j <= n && a[j].x - a[i].x <= 2 * r) j++;       mmi = min(hmi[i - 1], tmi[j]);       mma = max(hma[i - 1], tma[j]);       if (mma - mmi <= 2 * r) return 1;     }     return 0;   }   int main() {     long long i, j, tem;     long long tx, ty;     while (scanf( %I64d , &n) != EOF) {       for (i = 1; i <= n; i++) {         scanf( %I64d%I64d , &tx, &ty);         a[i].x = tx - ty;         a[i].y = tx + ty;       }       sort(a + 1, a + 1 + n);       hmi[0] = 0x3f3f3f3f3f3f3f3fll;       hma[0] = -0x3f3f3f3f3f3f3f3fll;       for (i = 1; i <= n; i++) {         hmi[i] = min(hmi[i - 1], a[i].y);         hma[i] = max(hma[i - 1], a[i].y);       }       tmi[n + 1] = 0x3f3f3f3f3f3f3f3fll;       tma[n + 1] = -0x3f3f3f3f3f3f3f3fll;       for (i = n; i > 0; i--) {         tmi[i] = min(tmi[i + 1], a[i].y);         tma[i] = max(tma[i + 1], a[i].y);       }       double low, high, mid, ans = 0;       low = 0;       high = 1e20;       while (high - low > 1e-6) {         mid = (low + high) / 2;         if (judge(mid))           high = mid;         else           low = mid;       }       printf( %.6lf n , (low + high) / 2);     }     return 0;   }   