解题思路
- 减去平均值
- 如果不是平均值,就把差出来的加到右面去,自己变成均值,如果是就跳过
- 最后大家数都变成一样了
AC代码:
using namespace std;
#include <iostream>
#include <algorithm>
#include <cmath>
int main ()
{
int n,i,f,s=0,ans=0;
cin>>n;
int a[n];
//减去一个平均数
for(i=0;i<n;i++)
{
cin>>a[i];
s=a[i]+s;
}
f=s/n;
for(i=0;i<n;i++)
{
a[i]=a[i]-f;
}
//如果自身不为0,就把多/少出来的数加到右面,它自己变成均值
for(i=0;i<n;i++)
{
if(a[i]!=0)
{
a[i+1]=a[i]+a[i+1];
a[i]=0;
ans=ans+1;
}
}
cout<<ans;
}