#include <bits/stdc++.h>
using namespace std;

int a[1005];//数组a记录每堆的纸牌数
int main()
{
    int n,i,sum=0,aver,ans=0;//n堆纸牌,纸牌的总数为sum,每堆平均aver张,最少移动ans次
    scanf("%d",&n);//输入
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
        sum+=a[i];//累加
    }
    aver=sum/n;//求平均值
    for(i=1;i<=n;i++)//从前向后
    {
        if(a[i]<aver)//如果这一堆纸牌的数量小于平均值
        {
            a[i+1]-=(aver-a[i]);//就用后一堆的纸牌来补齐
            ans++;//操作数+1
        }
        else if(a[i]>aver)//注意是else if而不是else,因为如果这一堆纸牌的数量等于平均值,就不需要对其进行操作了
        {
            a[i+1]+=(a[i]-aver);//就将多余的纸牌放到下一堆上
            ans++;//操作数+1
        }
    }
    printf("%d\n",ans);//打印
    return 0;
}
/**************************************************************
	Problem: 1371
	User: admin
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2080 kb
****************************************************************/