#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using PII = pair<int, int>;
using VI = vector<int>;
struct SegmentTree {
  int sz;
  vector<ll> tree;
  SegmentTree(int n) {
    for (sz = 1; sz < n; sz <<= 1)
      ;
    tree.resize(2 * sz, 0);
  }
  void add(int l, int r, ll d, int node = 1, int x = 0, int y = -1) {
    if (y == -1) y = sz;
    if (l >= y || r <= x) return;
    if (l <= x && y <= r) {
      tree[node] += d;
      return;
    }
    add(l, r, d, 2 * node, x, (x + y) / 2);
    add(l, r, d, 2 * node + 1, (x + y) / 2, y);
  }
  ll get(int i) {
    ll res = 0;
    for (int node = sz + i; node >= 1; node >>= 1) {
      res += tree[node];
    }
    return res;
  }
};
const int N = 1e6 + 10;
using DBL = long double;
ll a[N];
int lt[N], rt[N];
ll pref[N], suff[N];
DBL ans[N];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  stack<ll> vals;
  for (int i = 1; i <= n; i++) {
    while (!vals.empty() && a[vals.top()] > a[i]) vals.pop();
    lt[i] = vals.empty() ? 1 : 1 + vals.top();
    vals.push(i);
  }
  vals = stack<ll>();
  for (int i = n; i >= 1; i--) {
    while (!vals.empty() && a[vals.top()] >= a[i]) vals.pop();
    rt[i] = vals.empty() ? n : vals.top() - 1;
    vals.push(i);
  }
  SegmentTree inc(n + 1), dec(n + 1);
  for (int i = 1; i <= n; i++) {
    int l = i - lt[i];
    int r = rt[i] - i;
    if (l > r) swap(l, r);
    inc.add(1, l + 1, a[i]);
    pref[l + 1] -= l * a[i];
    pref[l + 1] += (l + 1) * a[i];
    pref[r + 2] -= (l + 1) * a[i];
    dec.add(r + 2, r + l + 2, a[i]);
    suff[r + 1] -= l * a[i];
  }
  ll tot = 0;
  for (int i = 1; i <= n; i++) {
    tot += pref[i];
    tot += inc.get(i);
    ans[i] += tot;
  }
  tot = 0;
  for (int i = n; i >= 1; i--) {
    tot += dec.get(i);
    tot += suff[i];
    ans[i] += tot;
    ans[i] /= (n + 1 - i);
  }
  cout << setprecision(12) << fixed;
  int q;
  cin >> q;
  while (q--) {
    int i;
    cin >> i;
    cout << ans[i] << '\n';
  }
  return 0;
}
