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>
int n;
double d[200000];
double help() {
  double r = 0.0, s = 0.0;
  for (int i = 0; i < n; i++) {
    s += d[i];
    if (s < 0) s = 0;
    if (r < s) r = s;
  }
  return r;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%lf", &d[i]);
  double s, e, m, v1, v2;
  for (s = -10000, e = 10000; e - s > 1e-9;) {
    m = (s + e) / 2;
    for (int i = 0; i < n; i++) d[i] -= m;
    v1 = help();
    for (int i = 0; i < n; i++) d[i] = -d[i];
    v2 = help();
    for (int i = 0; i < n; i++) d[i] = -d[i];
    for (int i = 0; i < n; i++) d[i] += m;
    if (v1 > v2)
      s = m;
    else
      e = m;
  }
  printf("%.9f\n", (v1 + v2) / 2);
  return 0;
}
