//URL:https://www.luogu.com.cn/problem/P2512
/*
有 nn 个小朋友坐成一圈,每人有 aiai 个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为 11。
1.任两个相邻的人之间只传递一次
2.向左传递 xi 个 >0 lft pass <0 rht pass
A1+x2-x1==ave
A2+x3-x2==ave
...
An+x1-xn==ave
x2=ave+x1-A1
x3=ave+x2-A2==2ave+x1-A1-A2
x1=ave+xn-An==n*ave-A1-A2--An+x1
设C1=A1-ave C2=A1+A2-2ave Cn=A1+a2+..An-n*ave
x2=x1-C1
x3=x1-C2
...
xn=x1-Cn
abs(x1)+...abs(xn) 只需要找到 令中位数==Ci
*/
/*
4
1
2
5
4
4
*/
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<string.h>
#include<queue>
#include<vector>
#include<bits/stdc++.h>
typedef long long ll;
#define ddd printf("-----------------------\n");
using namespace std;
const int maxn=1e6 +10;
const int mod=998244353;
const int inf=0x3f3f3f3f;
ll a[maxn],c[maxn],ave,ans;
int n;
int main()
{
ios::sync_with_stdio(false);
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i],ave+=a[i];
ave/=n;
for(int i=1;i<=n;i++) c[i]=c[i-1]+a[i]-ave;
sort(c+1,c+1+n);
ll mid=c[(n+1)>>1];
for(int i=1;i<=n;i++) ans+=abs(mid-c[i]);
cout<<ans<<'\n';
return 0;
}