#include <bits/stdc++.h>
using namespace std;
const int MAXN = 300100;
int ar[MAXN];
int A[MAXN];
int B[MAXN];
pair<int, int> arr[MAXN];
int N;
int main() {
  scanf("%d", &N);
  for (int i = 1; i <= N; ++i) {
    scanf("%d", ar + i);
    arr[i - 1] = pair<int, int>(ar[i], i);
  }
  for (int i = 1; i <= N; ++i) {
    A[i] = i - 1;
    B[i] = i + 1;
  }
  long double ans = 0;
  sort(arr, arr + N);
  for (int i = 0; i < N; ++i) {
    int x = arr[i].second;
    int a = A[x], b = B[x];
    B[a] = b;
    A[b] = a;
    long double lft = 0, rgt = 0;
    int cur = x;
    long double scal = 1;
    for (int j = 0; j < 40; ++j) {
      if (cur) {
        lft += (cur - A[cur]) * scal;
        cur = A[cur];
        scal /= 2;
      } else
        break;
    }
    cur = x;
    scal = 1;
    for (int j = 0; j < 40; ++j) {
      if (cur <= N) {
        rgt += (B[cur] - cur) * scal;
        cur = B[cur];
        scal /= 2;
      } else
        break;
    }
    ans += lft * rgt * ar[x] / 2;
  }
  cout << setprecision(10) << (ans / N / N) << "\n";
  return 0;
}
