0
点赞
收藏
分享

微信扫一扫

干草(春季每日一题 42)

343d85639154 2022-06-27 阅读 146

奶牛们又来捣乱了!

农夫约翰精心整理的 干草(春季每日一题 42)_枚举 堆干草,每堆干草的高度相同。

但是,奶牛们趁着他不注意在干草堆之间移动了一些干草捆,使得各个干草堆的高度可能不再相同了。

给定所有干草堆的新高度,请帮助约翰确定,为了使所有干草堆恢复到原来的相同高度,至少要移动的最小干草捆数。

输入格式
第一行包含整数 干草(春季每日一题 42)_枚举

接下来 干草(春季每日一题 42)_枚举 行,每行包含一个整数(范围 干草(春季每日一题 42)_i++_04),表示每个干草堆的现有干草捆数量(也就是新高度)。

输出格式
输出需要移动的最小干草捆数。

数据范围
干草(春季每日一题 42)_i++_05

输入样例:

4
2
10
7
1

输出样例:

7

样例解释
至少要移动 干草(春季每日一题 42)_枚举_06 个干草捆(将 干草(春季每日一题 42)_ios_07 个干草捆从第 干草(春季每日一题 42)_i++_08 堆移动至第 干草(春季每日一题 42)_枚举_09 堆,将 干草(春季每日一题 42)_i++_08 个干草捆从第 干草(春季每日一题 42)_i++_08 堆移动至第 干草(春季每日一题 42)_枚举_12 堆,将 干草(春季每日一题 42)_i++_08 个干草捆从第 干草(春季每日一题 42)_ios_07 堆移动至第 干草(春季每日一题 42)_枚举_12 堆)。

#include<iostream>

using namespace std;

const int N = 10010;

int n;
int a[N];

int main(){

cin >> n;
int sum = 0;
for(int i = 0; i < n; i++) cin >> a[i], sum += a[i];

int avg = sum / n;
sum = 0;
for(int i = 0; i < n; i++) sum += abs(avg - a[i]);

cout << sum / 2 << endl;

return 0;
}


举报

相关推荐

0 条评论