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

n = int(input())
A = list(map(int,input().split()))

def f(A,x,sign=1):
    cur = 0
    mn = 0
    ans = -1<<32
    if sign == 1:
        for y in A:
            cur += y-x
            ans = max(ans, cur - mn)
            mn = min(cur, mn)
    else:
        for y in A:
            cur -= y-x
            ans = max(ans, cur - mn)
            mn = min(cur, mn)

    return ans

lo,hi = -10000,10000
nt = 100
while nt:
    nt -= 1
    mid = (lo+hi)/2
    X = f(A,mid,sign=1)
    Y = f(A,mid,sign=-1)
    if X > Y:
        lo = mid
    else:
        hi = mid
print(abs(f(A,lo)))

