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(x):
    mx, cur = 0, 0
    for i in range(n):
        cur = max(cur, 0) + a[i] - x
        mx = max(mx, cur)
    cur = 0
    for i in range(n):
        cur = max(cur, 0) + x - a[i]
        mx = max(mx, cur)
    return mx

L, R = min(a), max(a) + 1

for t in range(100):
    d = (R - L) / 3
    x1, x2 = L + d, R - d
    if f(x1) > f(x2):
        L = x1
    else:
        R = x2

print('{:.10f}'.format(f(L)))
