#include <bits/stdc++.h>
using namespace std;
const int inf = 1999999999;
const double pi = acos(-1.0);
const double eps = 1e-10;
char gc() {
  char c;
  while (isspace(c = getchar()))
    ;
  return c;
}
int gs(char* s) {
  gets(s);
  int l = strlen(s);
  while (l && isspace(s[l - 1])) s[--l] = 0;
  return l;
}
int n;
double p[101];
double isok(double a) {
  double tmn = 1e20, tmx = -1e20;
  for (int i = 0; i <= n; i++) {
    if (i * 2 > n) tmx = max(tmx, (p[i] - a) / (i - n / 2.));
    if (i * 2 < n) tmn = min(tmn, (a - p[i]) / (n / 2. - i));
  }
  return tmn < tmx;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i <= n; i++) scanf("%lf", &p[i]);
  double low = -0.001, mid, high = 1.001;
  if ((n % 2) == 0) low = p[n / 2];
  for (int i = 0; i < 60; i++) {
    mid = (low + high) / 2;
    if (isok(mid))
      low = mid;
    else
      high = mid;
  }
  printf("%.10f\n", (low + high) / 2);
  return 0;
}
