思路
讲真的,这道题和积木大赛有点像,我一开始甚至搞混了,不过代码确实也没差多少,总体思路大体一致。
纯纯的贪心,只要一个数的前一个数不为平均数,就把这个数在原来的基础上加上前一个数与平均数的差,并让答案自增,最后输出答案即可~~~
Code
#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<stack>
#include<map>
using namespace std;
int n,i,x,a[101],ans;
int main()
{
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
//a[0]=a[n];
for(i=1;i<=n;i++)
x+=a[i];
x/=n;
for(i=0;i<=n;i++)
a[i]-=x;
for(i=2;i<=n;i++)
{
if(a[i-1]!=0)
a[i]+=a[i-1],ans++;
}
cout<<ans;
return 0;
}