#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<long long> a(n);
long long sum = 0;
for(int i=0; i<n; ++i) {
cin >> a[i];
sum += a[i];
}
double c = 1.0 * sum / n;
vector<double> vals;
// 왼쪽에서 제거
long long s = sum;
int l = 0, r = n-1;
while(l <= r) {
int m = r-l+1;
vals.push_back(1.0*s/m);
if(l==r) break;
double z = 1.0*(s - a[r])/(m-1);
if(z >= c) {
s -= a[r];
--r;
} else {
s -= a[l];
++l;
}
}
// 오른쪽에서 제거
s = sum;
l = 0, r = n-1;
while(l <= r) {
int m = r-l+1;
vals.push_back(1.0*s/m);
if(l==r) break;
double z = 1.0*(s - a[l])/(m-1);
if(z <= c) {
s -= a[l];
++l;
} else {
s -= a[r];
--r;
}
}
double mn = *min_element(vals.begin(), vals.end());
double mx = *max_element(vals.begin(), vals.end());
cout << fixed << setprecision(12) << mx - mn << "\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IG47CiAgICBjaW4gPj4gbjsKICAgIHZlY3Rvcjxsb25nIGxvbmc+IGEobik7CiAgICBsb25nIGxvbmcgc3VtID0gMDsKICAgIGZvcihpbnQgaT0wOyBpPG47ICsraSkgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgICAgIHN1bSArPSBhW2ldOwogICAgfQoKICAgIGRvdWJsZSBjID0gMS4wICogc3VtIC8gbjsKICAgIHZlY3Rvcjxkb3VibGU+IHZhbHM7CgogICAgLy8g7Jm87Kq97JeQ7IScIOygnOqxsAogICAgbG9uZyBsb25nIHMgPSBzdW07CiAgICBpbnQgbCA9IDAsIHIgPSBuLTE7CiAgICB3aGlsZShsIDw9IHIpIHsKICAgICAgICBpbnQgbSA9IHItbCsxOwogICAgICAgIHZhbHMucHVzaF9iYWNrKDEuMCpzL20pOwogICAgICAgIGlmKGw9PXIpIGJyZWFrOwogICAgICAgIGRvdWJsZSB6ID0gMS4wKihzIC0gYVtyXSkvKG0tMSk7CiAgICAgICAgaWYoeiA+PSBjKSB7CiAgICAgICAgICAgIHMgLT0gYVtyXTsKICAgICAgICAgICAgLS1yOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHMgLT0gYVtsXTsKICAgICAgICAgICAgKytsOwogICAgICAgIH0KICAgIH0KCiAgICAvLyDsmKTrpbjsqr3sl5DshJwg7KCc6rGwCiAgICBzID0gc3VtOwogICAgbCA9IDAsIHIgPSBuLTE7CiAgICB3aGlsZShsIDw9IHIpIHsKICAgICAgICBpbnQgbSA9IHItbCsxOwogICAgICAgIHZhbHMucHVzaF9iYWNrKDEuMCpzL20pOwogICAgICAgIGlmKGw9PXIpIGJyZWFrOwogICAgICAgIGRvdWJsZSB6ID0gMS4wKihzIC0gYVtsXSkvKG0tMSk7CiAgICAgICAgaWYoeiA8PSBjKSB7CiAgICAgICAgICAgIHMgLT0gYVtsXTsKICAgICAgICAgICAgKytsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHMgLT0gYVtyXTsKICAgICAgICAgICAgLS1yOwogICAgICAgIH0KICAgIH0KCiAgICBkb3VibGUgbW4gPSAqbWluX2VsZW1lbnQodmFscy5iZWdpbigpLCB2YWxzLmVuZCgpKTsKICAgIGRvdWJsZSBteCA9ICptYXhfZWxlbWVudCh2YWxzLmJlZ2luKCksIHZhbHMuZW5kKCkpOwoKICAgIGNvdXQgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKDEyKSA8PCBteCAtIG1uIDw8ICJcbiI7CiAgICByZXR1cm4gMDsKfQ==