F. 三倍数组
三倍数组
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“赛后递交”以递交本题。
题目描述
小 Z 有一个长度为 的数组 。他最喜欢的数字是 ,所以他希望数组中的每个数都是 的倍数。
小 Z 可以进行以下操作:
- 选择两个不同的索引 和 ,将 增加 ,同时将 减少 。
请问小 Z 至少需要多少次操作才能使数组中的所有数都变成 的倍数?如果不可能,请输出 。
输入格式
第一行包含一个整数 ,表示测试用例的数量。
每个测试用例包含两行:
- 第一行包含一个整数 ,表示数组的长度。
- 第二行包含 个空格分隔的整数 ,表示数组中的元素。
输出格式
对于每个测试用例,输出一行,包含一个整数,表示最小操作次数或 。
输入输出样例
3
3
1 2 3
4
6 3 9 12
2
4 3
1
0
-1
样例 说明
- 第一个测试用例:数组为 。小 Z 可以选择索引 和 进行操作:将 减少 ,将 增加 。操作后数组变为 ,所有元素都是 的倍数。只需 次操作。
- 第二个测试用例:数组为 ,所有元素已经是 的倍数,不需要操作。
- 第三个测试用例:数组为 ,无法通过操作使所有元素变成 的倍数,因此输出 。
数据范围
- 对于的数据,满足。
- 对于另外的数据,满足。
- 对于的数据,满足$1\leq T \leq 1000, 2 \le N \le 10^5, 1\le A_i \le 10^9$。
【AC-007-Div3】语法组月赛 || Round · 7
- 状态
- 已结束
- 规则
- OI
- 题目
- 6
- 开始于
- 2025-12-13 0:00
- 结束于
- 2025-12-15 0:00
- 持续时间
- 3 小时
- 主持人
- 参赛人数
- 84