You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.0 KiB

2 years ago
#include <bits/stdc++.h>
using namespace std;
int a[105];
// 这个贪心算法太有意思了~
int main() {
//输入+输出重定向
freopen("../1267.txt", "r", stdin);
int n, i, avg, count, sum = 0;
count = 0;
cin >> n;
//读入数据,并计算出平均数
for (i = 0; i < n; i++) {
cin >> a[i];
sum += a[i];
}
avg = sum / n;
//从前面第一个开始,就计算出距离平均数都差多少
for (i = 0; i < n; i++) {
a[i] = a[i] - avg;
}
//遍历所有的堆
for (i = 0; i < n - 1; i++) {
if (a[i] != 0) //如果等于0的话就不用管了
{
a[i + 1] = a[i] + a[i + 1]; //不管是正还是负,都向后面一个要
a[i] = 0; //把自己标识为与平均值的差为0就是达标了
count++; //要了一次加1一次
} else
continue;
}
cout << count << endl;
//关闭文件
fclose(stdin);
return 0;
}