题解:
很自然,首先求和,然后均分,后一个加上前一个减所需的,可能是正,也可能是负,都行。
后一个满足前一个,最后一个满不满足就无所谓了。
#include<iostream>
#include<algorithm>
#define maxn 10050
typedef long long ll;
using namespace std;
#define rep(i, x, n) for (int i = x; i <= n; i++)
int main()
{
int n,a[maxn],ans,cnt=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
ans += a[i];
}
ans /= n;
for(int i=1;i<=n;i++)
{
if(a[i]-ans!=0){
a[i+1]+=a[i]-ans;
cnt++;
}
}
printf("%d",cnt);
return 0;
}