func_code_string: #include <bits/stdc++.h>   using namespace std;   const int M = 200000 + 10;   int a[M];   int main() {     int n;     cin >> n;     for (int i = 0; i < n; i++) {       cin >> a[i];     }     sort(a, a + n);     double R_L = 0;     double R_R = 0.5 * a[n - 1] - 0.5 * a[0];     int num = 0;     double C1, C2, C3;     C2 = a[0];     while (num < 200) {       double R_M = (R_L + R_R) / 2;       double D1 = a[0] + R_M * 2;       int ind1 = -1;       for (int i = 0; i < n; i++) {         if (a[i] > D1) {           ind1 = i;           break;         }       }       double D2 = R_M * 2;       int ind2 = -1;       for (int i = n - 1; i >= 0; i--) {         if (a[i] + D2 < a[n - 1]) {           ind2 = i;           break;         }       }       if (ind1 == -1 || ind2 == -1) {         R_R = R_M;       } else {         if (ind1 > ind2) {           R_R = R_M;         } else {           int Dis = a[ind2] - a[ind1];           C2 = 0.5 * (a[ind2] + a[ind1]);           if (Dis <= R_M * 2) {             R_R = R_M;           } else {             R_L = R_M;           }         }       }       num++;     }     C1 = a[0] + R_R;     C3 = a[n - 1] - R_R;     C2 = a[0];     for (int i = 0; i < n; i++) {       if (a[i] > a[0] + 2 * R_R) {         C2 = a[i] + R_R;         break;       }     }     printf( %.10f n , R_R);     printf( %.10f %.10f %.10f n , C1, C2, C3);     return 0;   }   