#include <bits/stdc++.h>
int arr[300010], n;
std::pair<int, int> idx[300010];
int A[300010], B[300010];
double ans, l, r, pw;
int main(void) {
  int i, x, a, b, now, j;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d", &arr[i]);
    idx[i].first = arr[i], idx[i].second = i;
  }
  std::sort(idx + 1, idx + n + 1);
  for (i = 1; i <= n; i++) {
    A[i] = i - 1, B[i] = i + 1;
  }
  for (i = 1; i <= n; i++) {
    x = idx[i].second;
    a = A[x], b = B[x];
    B[a] = b;
    A[b] = a;
    l = r = 0;
    now = x, pw = 1;
    for (j = 1; j <= 40; j++) {
      if (now) {
        l += (double)(now - A[now]) * pw;
        now = A[now];
        pw /= 2;
      } else
        break;
    }
    now = x, pw = 1;
    for (j = 1; j <= 40; j++) {
      if (now <= n) {
        r += (double)(B[now] - now) * pw;
        now = B[now];
        pw /= 2;
      } else
        break;
    }
    ans += l * r * (double)idx[i].first / 2;
  }
  double N = (double)n;
  printf("%.10lf\n", ans / N / N);
  return false;
}
