B - Equal Candies CodeForces - 1676B

Posted on   zeitspeed  阅读(30)  评论(0编辑  收藏  举报

There are nn boxes with different quantities of candies in each of them. The ii-th box has a_ia
i

candies inside.

You also have nn friends that you want to give the candies to, so you decided to give each friend a box of candies. But, you don’t want any friends to get upset so you decided to eat some (possibly none) candies from each box so that all boxes have the same quantity of candies in them. Note that you may eat a different number of candies from different boxes and you cannot add candies to any of the boxes.

What’s the minimum total number of candies you have to eat to satisfy the requirements?

Input
The first line contains an integer tt (1 \leq t \leq 10001≤t≤1000) — the number of test cases.

The first line of each test case contains an integer nn (1 \leq n \leq 501≤n≤50) — the number of boxes you have.

The second line of each test case contains nn integers a_1, a_2, \dots, a_na
1

,a
2

,…,a
n

(1 \leq a_i \leq 10^71≤a
i

≤10
7
) — the quantity of candies in each box.

Output
For each test case, print a single integer denoting the minimum number of candies you have to eat to satisfy the requirements.

Sample 1
Inputcopy Outputcopy
5
5
1 2 3 4 5
6
1000 1000 5 1000 1000 1000
10
1 2 3 5 1 2 7 9 13 5
3
8 8 8
1
10000000
10
4975
38
0
0
Note
For the first test case, you can eat 11 candy from the second box, 22 candies from the third box, 33 candies from the fourth box and 44 candies from the fifth box. Now the boxes have [1, 1, 1, 1, 1][1,1,1,1,1] candies in them and you ate 0 + 1 + 2 + 3 + 4 = 100+1+2+3+4=10 candies in total so the answer is 1010.

For the second test case, the best answer is obtained by making all boxes contain 55 candies in them, thus eating 995 + 995 + 0 + 995 + 995 + 995 = 4975995+995+0+995+995+995=4975 candies in total.

#include<iostream>
using namespace std;
int main(void) {
	int n;
	cin >> n;
	int m;
	int a[1005];
	for (int i = 0; i < n; i++) {
		cin >> m;
		int minv = 1e8;
		int sum = 0;
		for (int j = 0; j < m; j++) {
			cin >> a[j];
			minv = min(minv, a[j]);
		}
		for (int j = 0; j < m; j++) {
			sum += a[j] - minv;
		}
		cout << sum << endl;
	}
}
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示