#2074. CF1954B - Make It Ugly
CF1954B - Make It Ugly
题目背景
- 没有注册 codeforces 参考此教程注册。
- 做完后记得选择这个选择题。 {{ select(1) }}
- 提交并且通过了
- 还没有提交,或者提交了
WA
了。
题目描述
让我们把一个长度为 的数组 称为 美丽 数组,如果你能通过任意次数(可能是零)的以下操作使数组中的所有元素都相同的话:
- 选择一个索引 ( ),比如 ,然后用 替换 。
给你一个漂亮的数组 。要使数组不再美丽,至少要删除多少个元素?禁止交换元素。如果不可能做到,那么输出 。
输入格式
第一行包含一个整数 ( ) - 测试用例数。
每个测试用例的第一行包含一个整数 ( )。
第二行包含 个整数 ( )。
所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,输出一个整数--为了使数组 不再美丽,你必须从数组 中移除的最小元素数。如果不可能,则输出 。
4
3
2 2 2
5
1 2 1 2 1
1
1
7
3 3 3 5 3 3 3
-1
1
-1
3
样例解释
在第一个测试案例中,不可能通过修改数组的方式使其不再美丽。无论我们从数组中删除多少数字,由相同数字组成的数组都会保持美丽。
例如,在第二个测试案例中,你可以删除索引 中的数字。
这样得到的数组将是 。让我们看看它是否漂亮。有两种操作可供选择:
- 选择 :数组变为 。不能再对其进行其他操作,而且数字也不尽相同。
- 选择 :数组变为 。也不能对其进行更多的运算,数字仍然不完全相同。
因此,数组 并不美。
在第四个测试用例中,可以删除前三个元素。这样得到的数组 并不美观。