// ~~ icebear ~~
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
#define FOR(i,a,b) for(int i=a; i<=b; ++i)
#define FORR(i,a,b) for(int i=a; i>=b; --i)
#define rep(i, n) for(int i=0; i<n; ++i)
#define red(i, n) for(int i=n-1; i>=0; --i)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define task "delseq"
const int MOD = 1e9 + 7;
const int inf = 1e9 + 27092008;
const ll LLinf = 1e18 + 27092008;
const double eps = 1e-6;
const int N = 1e5 + 5;
int n, a[N];
double b[N];
bool check(double x){
FOR(i,1,n) b[i] = b[i-1] + a[i] - x;
double Min = b[1];
FOR(i,2,n-1){
if (b[n] - (b[i] - Min) <= 0) return true;
Min = min(Min, b[i]);
}
return false;
}
void solve(){
cin >> n;
FOR(i,1,n) cin >> a[i];
double l = 1 - eps, r = 1e9 + eps, res;
while(r - l > eps){
double mid = (l + r) / 2.0;
if (check(mid)) res = mid, r = mid - eps;
else l = mid + eps;
}
cout << fixed << setprecision(3) << res;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
if (fopen(task".inp", "r")){
freopen(task".inp", "r", stdin);
freopen(task".out", "w", stdout);
}
int tc = 1;
// cin >> tc;
while(tc--) solve();
return 0;
}
Ly8gfn4gaWNlYmVhciB+fgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOwp0eXBlZGVmIHBhaXI8aWksIGludD4gaWlpOwoKI2RlZmluZSBGT1IoaSxhLGIpIGZvcihpbnQgaT1hOyBpPD1iOyArK2kpCiNkZWZpbmUgRk9SUihpLGEsYikgZm9yKGludCBpPWE7IGk+PWI7IC0taSkKI2RlZmluZSByZXAoaSwgbikgZm9yKGludCBpPTA7IGk8bjsgKytpKQojZGVmaW5lIHJlZChpLCBuKSBmb3IoaW50IGk9bi0xOyBpPj0wOyAtLWkpCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSB0YXNrICJkZWxzZXEiCgpjb25zdCBpbnQgTU9EID0gMWU5ICsgNzsKY29uc3QgaW50IGluZiA9IDFlOSArIDI3MDkyMDA4Owpjb25zdCBsbCBMTGluZiA9IDFlMTggKyAyNzA5MjAwODsKY29uc3QgZG91YmxlIGVwcyA9IDFlLTY7CmNvbnN0IGludCBOID0gMWU1ICsgNTsKaW50IG4sIGFbTl07CmRvdWJsZSBiW05dOwoKYm9vbCBjaGVjayhkb3VibGUgeCl7ICAgCiAgICBGT1IoaSwxLG4pIGJbaV0gPSBiW2ktMV0gKyBhW2ldIC0geDsKICAgIGRvdWJsZSBNaW4gPSBiWzFdOwogICAgRk9SKGksMixuLTEpewogICAgICAgIGlmIChiW25dIC0gKGJbaV0gLSBNaW4pIDw9IDApIHJldHVybiB0cnVlOwogICAgICAgIE1pbiA9IG1pbihNaW4sIGJbaV0pOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9Cgp2b2lkIHNvbHZlKCl7CiAgICBjaW4gPj4gbjsKICAgIEZPUihpLDEsbikgY2luID4+IGFbaV07CiAgICBkb3VibGUgbCA9IDEgLSBlcHMsIHIgPSAxZTkgKyBlcHMsIHJlczsKICAgIHdoaWxlKHIgLSBsID4gZXBzKXsKICAgICAgICBkb3VibGUgbWlkID0gKGwgKyByKSAvIDIuMDsKICAgICAgICBpZiAoY2hlY2sobWlkKSkgcmVzID0gbWlkLCByID0gbWlkIC0gZXBzOwogICAgICAgIGVsc2UgbCA9IG1pZCArIGVwczsKICAgIH0KICAgIGNvdXQgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKDMpIDw8IHJlczsKfQoKaW50IG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGlmIChmb3Blbih0YXNrIi5pbnAiLCAiciIpKXsKICAgICAgICBmcmVvcGVuKHRhc2siLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4odGFzayIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgaW50IHRjID0gMTsKLy8gICAgIGNpbiA+PiB0YzsKICAgIHdoaWxlKHRjLS0pIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQ==