题目
分析
首先第一堆纸牌只能由第二堆纸牌改变,如果我们用第二堆纸牌将第一堆纸牌变化成均值,那么第二堆纸牌就只能由第三堆纸牌改变,以此类推,我们就可以得到最后的解
如何完成上述的操作呢?
第二堆补第一堆,不够先欠着,考后面的补,以此类推即可
代码
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int n;
int a[N];
int main()
{
cin >> n;
int total = 0;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
total += a[i];
}
int avg = total / n;
int res = 0;
for (int i = 1; i <= n; i++)
{
a[i + 1] += a[i] - avg;
res++;
}
cout << res << endl;
return 0;
}