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;
int main() {
  int n;
  cin >> n;
  vector<double> nums(n, -1);
  multiset<int> upper;
  multiset<int, greater<int> > lower;
  for (int i = 0; i < n; ++i) {
    cin >> nums[i];
    if (i == 0)
      lower.insert(nums[i]);
    else {
      if (i % 2 == 0) {
        if (nums[i] <= *upper.begin())
          lower.insert(nums[i]);
        else {
          lower.insert(*upper.begin());
          upper.erase(upper.begin());
          upper.insert(nums[i]);
        }
      } else {
        if (nums[i] >= *lower.begin())
          upper.insert(nums[i]);
        else {
          upper.insert(*lower.begin());
          lower.erase(lower.begin());
          lower.insert(nums[i]);
        }
      }
    }
  }
  double median;
  if (n % 2 == 1)
    median = *lower.begin();
  else
    median = ((double)*lower.begin() + (double)*upper.begin()) / 2.0;
  for (int i = 0; i < n; ++i) nums[i] -= median;
  double ans1 = nums[0], sum = 0;
  for (int i = 0; i < n; ++i) {
    sum += nums[i];
    ans1 = ans1 > sum ? ans1 : sum;
    sum = sum > 0 ? sum : 0;
  }
  double ans2 = nums[0];
  sum = 0;
  for (int i = 0; i < n; ++i) {
    sum += nums[i];
    ans2 = ans2 < sum ? ans2 : sum;
    sum = sum < 0 ? sum : 0;
  }
  cout << (abs(ans1) > abs(ans2) ? abs(ans1) : abs(ans2)) << endl;
  return 0;
}
