10
-405 -230 252 -393 -390 -259 97 163 81 -129
 3
10000 -10000 10000
 1
-10000
 20
-16 -23 29 44 -40 -50 -41 34 -38 30 -12 28 -44 -49 15 50 -28 38 -2 0

702.333333333333712
 10000.000000000016371
 0.000000000000000
 113.875000000000043

#include <iostream>
#include <math.h>

using namespace std;

int n;
const int MAXN = 200007;
const long double INF = (1e4) + 7, eps = 1e-10;
long double a[MAXN];


long double abs(long double x){
    if (x > 0)
        return x;
    return -x;
}

long double f(long double x){
    long double pref = 0, pmin = 0, pmax = 0, ans = 0;
    for (int i = 1; i <= n; ++i){
        pref += a[i] - x;
        ans = max(ans, max(abs(pref - pmin), abs(pref - pmax)));
        pmin = min(pmin, pref);
        pmax = max(pmax, pref);
    }
    return ans;
}


int main()
{
    cin >> n;
    for (int i = 1; i <= n; ++i)
        cin >> a[i];

    long double l = -INF, r = INF, m1, m2;
    while (r - l > eps){
        m1 = l + (r - l) / 3;
        m2 = r - (r - l) / 3;
        if (f(m2) - f(m1) > eps)
            r = m2;
        else
            l = m1;
    }

    cout.precision(50);
    cout << f(l) << endl;

    return 0;
}






