https://www.luogu.org/problem/P1031
#include<bits/stdc++.h> using namespace std; int n,a[101],all,ans; int main() { scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%d",&a[i]); all+=a[i]; //累加 } all=all/n; //平均数 for(int i=1; i<=n; i++) if(a[i]-all) { //如果不等于平均数 a[i+1]=a[i+1]+a[i]-all; //下一个补上, ans++; //移动次数加一 } printf("%d",ans); return 0; } //从第一堆开始,让他依次变为平均数, //不用担心出现负数,这样不会丢失最优解,只是顺寻变了变