题解:均分后每堆都为平均数……知道这一点后,就能愉快的模拟了
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;
int n,s,step,i,j;
int a[1005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i],s+=a[i];
s/=n;
for(int i=1;i<=n;i++) a[i]-=s;
i=1,j=n;
while(a[i]==0) i++;
while(a[j]==0) j--;
while(i<j)
{
a[i+1]+=a[i];
a[i]=0;
step++,i++;
while(a[i]==0&&i<j)
i++;
}
cout<<step;
}