func_code_string: #include <bits/stdc++.h>   using namespace std;   const int _ = 2e2 + 20;   int n;   struct matrix {     double a[_][_];     matrix operator*(matrix b) {       matrix c;       for (int i = 0; i <= n * 2; ++i)         for (int j = 0; j <= n * 2; ++j) {           c.a[i][j] = 0;           for (int k = 0; k <= n * 2; ++k)             c.a[i][j] = max(c.a[i][j], a[i][k] + b.a[k][j]);           c.a[i][j] /= 2;         }       return c;     }   } A;   double a[_];   int main() {     cin >> n;     for (int i = 0; i <= n; ++i) cin >> a[i];     for (int i = 0; i <= n * 2; ++i) {       for (int j = 0; j <= n * 2; ++j) {         if (i + j >= n && (i + n - j & 1) == 0 && i - j <= n && j - i <= n)           A.a[i][j] = a[(i + n - j) / 2];         else           A.a[i][j] = -1e18;       }     }     double ans = 0;     for (int i = 1; i <= 50; ++i) A = A * A;     for (int i = 0; i <= n * 2; ++i) ans = max(ans, A.a[0][i]);     printf( %.10f n , ans);     return 0;   }   