#include <bits/stdc++.h>
using namespace std;
int fun(int n, vector<int>&p) {
int sum=0;
for(int i=0; i<n; i++) {
sum+=p[i];
}
int temp=sum/n;
queue<pair<int,int>>q;
int s=true;
int cost=0;
for(int i=0; i<n; i++) {
if(p[i]>temp) {
q.push({p[i]-temp,i});
}
else if(p[i]<temp && !q.empty()) {
while(!q.empty() && p[i]!=temp) {
auto a=q.front();
q.pop();
if(temp-p[i]<a.first) {
a.first-=(temp-p[i]);
if(s)
{
cost+=(temp-p[i])*(i-a.second);
}
else {
cost+=(temp-p[i])*(n-1-a.second + 1 + i);
}
p[i]=temp;
q.push(a);
}
else {
if(s)
{
cost+=(a.first*(i-a.second));
}
else {
cost+=(a.first)*(n-1-a.second + 1 + i);
}
p[i]=p[i]+a.first;
}
}
}
if(s && i==n-1 && !q.empty()) {
i=-1;
s=false;
}
}
return cost;
}
int main()
{
int n;
cin>>n;
vector<int>r,p(n);
for(int i=0; i<n; i++) {
cin>>p[i];
}
r=p;
reverse(r.begin(),r.end());
cout<<min(fun(n,p),fun(n,r))<<endl;
return 0;
}
CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgZnVuKGludCBuLCB2ZWN0b3I8aW50PiZwKSB7CglpbnQgc3VtPTA7Cglmb3IoaW50IGk9MDsgaTxuOyBpKyspIHsKCQlzdW0rPXBbaV07Cgl9CglpbnQgdGVtcD1zdW0vbjsKCXF1ZXVlPHBhaXI8aW50LGludD4+cTsKCWludCBzPXRydWU7CglpbnQgY29zdD0wOwoJZm9yKGludCBpPTA7IGk8bjsgaSsrKSB7CgoJCWlmKHBbaV0+dGVtcCkgewoJCQlxLnB1c2goe3BbaV0tdGVtcCxpfSk7CgkJfQoJCWVsc2UgaWYocFtpXTx0ZW1wICYmICFxLmVtcHR5KCkpIHsKCQkJd2hpbGUoIXEuZW1wdHkoKSAmJiBwW2ldIT10ZW1wKSB7CgkJCQlhdXRvIGE9cS5mcm9udCgpOwoJCQkJcS5wb3AoKTsKCQkJCWlmKHRlbXAtcFtpXTxhLmZpcnN0KSB7CgkJCQkJYS5maXJzdC09KHRlbXAtcFtpXSk7CgkJCQkJaWYocykKCQkJCQl7CgkJCQkJCWNvc3QrPSh0ZW1wLXBbaV0pKihpLWEuc2Vjb25kKTsKCQkJCQl9CgkJCQkJZWxzZSB7CgkJCQkJCWNvc3QrPSh0ZW1wLXBbaV0pKihuLTEtYS5zZWNvbmQgKyAxICsgaSk7CgkJCQkJfQoJCQkJCXBbaV09dGVtcDsKCQkJCQlxLnB1c2goYSk7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQlpZihzKQoJCQkJCXsKCQkJCQkJY29zdCs9KGEuZmlyc3QqKGktYS5zZWNvbmQpKTsKCQkJCQl9CgkJCQkJZWxzZSB7CgkJCQkJCWNvc3QrPShhLmZpcnN0KSoobi0xLWEuc2Vjb25kICsgMSArIGkpOwoJCQkJCX0KCgkJCQkJcFtpXT1wW2ldK2EuZmlyc3Q7CgkJCQl9CgkJCX0KCQl9CgkJaWYocyAmJiBpPT1uLTEgJiYgIXEuZW1wdHkoKSkgewoJCQlpPS0xOwoJCQlzPWZhbHNlOwoJCX0KCX0KCXJldHVybiBjb3N0Owp9CmludCBtYWluKCkKewoJaW50IG47CgljaW4+Pm47Cgl2ZWN0b3I8aW50PnIscChuKTsKCWZvcihpbnQgaT0wOyBpPG47IGkrKykgewoJCWNpbj4+cFtpXTsKCX0KCXI9cDsKCXJldmVyc2Uoci5iZWdpbigpLHIuZW5kKCkpOwoJY291dDw8bWluKGZ1bihuLHApLGZ1bihuLHIpKTw8ZW5kbDsKCXJldHVybiAwOwp9