洛谷P1031 均分纸牌

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;
}
//从第一堆开始,让他依次变为平均数,
//不用担心出现负数,这样不会丢失最优解,只是顺寻变了变 
原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11704962.html