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 <bits/stdc++.h>
using namespace std;
const int N = 200010;
int a[N];
long double d[N];
long double val[N];
int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> a[i];
  long double l = 1e12, r = 1e12;
  l = -l;
  for (int z = 1; z <= 400; z++) {
    long double mid = (l + r) / 2;
    for (int i = 1; i <= n; i++) d[i] = a[i] - mid;
    val[0] = 0;
    long double res1 = 0;
    for (int i = 1; i <= n; i++) {
      val[i] = max(d[i], d[i] + val[i - 1]);
      res1 = max(res1, val[i]);
    }
    for (int i = 1; i <= n; i++) d[i] = mid - a[i];
    long double res2 = 0;
    for (int i = 1; i <= n; i++) {
      val[i] = max(d[i], d[i] + val[i - 1]);
      res2 = max(res2, val[i]);
    }
    if (res2 > res1)
      r = mid;
    else
      l = mid;
  }
  l = (l + r) / 2;
  for (int i = 1; i <= n; i++) d[i] = a[i] - l;
  long double mini = 0, maxi = 0;
  for (int i = 1; i <= n; i++) {
    d[i] += d[i - 1];
    maxi = max(maxi, d[i]);
    mini = min(mini, d[i]);
  }
  double res = maxi - mini;
  printf("%.13f\n", res);
}
