#include <bits/stdc++.h>
using namespace std;
int main() {
int n; cin >> n;
vector<long long> a(n+1), pf(n+1,0);
for(int i=1;i<=n;i++) cin >> a[i], pf[i]=pf[i-1]+a[i];
auto q=[&](int l,int r){return (double)(pf[r]-pf[l-1])/(r-l+1);};
double A=q(1,n);
vector<array<double,2>> c={{A,A}};
for(int len=1;len<n;len++){
int L=1,R=n-len+1,p=0;
while(L<=R){
int m=(L+R)/2;
if(q(m,m+len-1)<A) p=m,L=m+1;
else R=m-1;
}
c.push_back({q(p,p+len-1),q(p+1,p+len)});
}
sort(c.begin(),c.end());
double r=1e9,mx=c.back()[0];
for(auto [x,y]:c) r=min(r,mx-x), mx=max(mx,y);
cout << fixed << setprecision(12) << r;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCkgewogICAgaW50IG47IGNpbiA+PiBuOwogICAgdmVjdG9yPGxvbmcgbG9uZz4gYShuKzEpLCBwZihuKzEsMCk7CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykgY2luID4+IGFbaV0sIHBmW2ldPXBmW2ktMV0rYVtpXTsKICAgIGF1dG8gcT1bJl0oaW50IGwsaW50IHIpe3JldHVybiAoZG91YmxlKShwZltyXS1wZltsLTFdKS8oci1sKzEpO307CiAgICBkb3VibGUgQT1xKDEsbik7CiAgICB2ZWN0b3I8YXJyYXk8ZG91YmxlLDI+PiBjPXt7QSxBfX07CiAgICBmb3IoaW50IGxlbj0xO2xlbjxuO2xlbisrKXsKICAgICAgICBpbnQgTD0xLFI9bi1sZW4rMSxwPTA7CiAgICAgICAgd2hpbGUoTDw9Uil7CiAgICAgICAgICAgIGludCBtPShMK1IpLzI7CiAgICAgICAgICAgIGlmKHEobSxtK2xlbi0xKTxBKSBwPW0sTD1tKzE7CiAgICAgICAgICAgIGVsc2UgUj1tLTE7CiAgICAgICAgfQogICAgICAgIGMucHVzaF9iYWNrKHtxKHAscCtsZW4tMSkscShwKzEscCtsZW4pfSk7CiAgICB9CiAgICBzb3J0KGMuYmVnaW4oKSxjLmVuZCgpKTsKICAgIGRvdWJsZSByPTFlOSxteD1jLmJhY2soKVswXTsKICAgIGZvcihhdXRvIFt4LHldOmMpIHI9bWluKHIsbXgteCksIG14PW1heChteCx5KTsKICAgIGNvdXQgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKDEyKSA8PCByOwp9