#CF1933B. B. 龟速数学题:三的快速任务
B. 龟速数学题:三的快速任务
B. 龟速数学题:三的快速任务
每个测试点时间限制:2 秒
内存限制:256 兆字节
题目描述
你有一个数组 。
在每一步操作中,你可以执行以下两种操作之一:
- 从数组中选择一个元素并将其删除。结果数组的长度减少 。
- 从数组中选择一个元素并将其值增加 。
你可以执行任意多次操作。如果当前数组变为空,则不能再进行任何操作。
你的任务是:找出最少需要多少次操作,使得数组所有元素的和能被 整除。
有可能需要 次操作。
注意:空数组(长度为 的数组)的和等于 。
输入格式
第一行包含一个整数 ()—— 测试用例的数量。
每个测试用例的输入格式如下:
- 第一行包含一个整数 ()。
- 第二行包含 个整数 ()。
所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出一个整数:最少需要的操作次数。
示例
输入
8
4
2 2 5 4
3
1 3 2
4
3 7 6 8
1
1
4
2 2 4 2
2
5 5
7
2 4 8 1 9 3 4
2
4 10
输出
1
0
0
1
1
2
1
1
样例说明
-
第一个测试用例:初始数组 。
最优操作之一:删除第 个元素,得到 ,和为 ,能被 整除。
操作次数 = 。 -
第二个测试用例:初始数组 ,和为 ,能被 整除,不需要操作。
操作次数 = 。 -
第四个测试用例:初始数组 ,和为 ,不能被 整除。
删除唯一元素,得到空数组,和为 ,能被 整除。
操作次数 = 。