雪人部落的储备粮分配问题:C++ 代码实现
雪人部落的储备粮分配问题:C++ 代码实现
雪人部落遇到了食物匮乏的季节,会拿出储备粮接济吃不饱饭的雪人家庭。现在雪人部落中有 n 个家庭,每个家庭有自己的储备粮数量。雪人部落会计算当前所有雪人家庭储备粮的平均值,然后额外提供一些粮食给予低于平均值的雪人家庭,使其粮食储量达到计算的平均值。请问雪人部落一共需要提供多少储备粮?
输入:
共两行。
第一行为一个整数 n (n <= 10^5),表示有 n 个雪人家庭。
第二行为 n 个整数,表示每个雪人家庭的储备粮数量。
输出:
一个数,表示雪人部落要额外提供的储备粮数量。
输入样例:
5
1 2 3 4 5
输出样例:
3
思路:
先算出总量,然后算出平均数,再计算出低于平均数的家庭需要补充的量,这些量的和就是答案。
C++ 代码:
#include <iostream>
using namespace std;
int main() {
int n, total = 0;
cin >> n;
int *arr = new int[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
total += arr[i];
}
double avg = (double)total / n;
int extra = 0;
for (int i = 0; i < n; i++) {
if (arr[i] < avg) {
extra += (int)(avg - arr[i]);
}
}
cout << extra << endl;
delete[] arr;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/oiXZ 著作权归作者所有。请勿转载和采集!