#CF2146A. 发生次数相等
发生次数相等
A. 发生次数相等
每次测试时间限制: 秒
每次测试内存限制: 兆字节
当且仅当数组中任一元素的出现次数都相同时,称该数组为平衡的。
例如:
- 是平衡的(每个元素出现 次)
- 是平衡的(每个元素出现 次)
- 是不平衡的(元素 出现 次, 出现 次, 出现 次,出现次数不全相等)
注意:空数组总是平衡的。
你会得到一个非递减的数组 ,包含 个整数。
求其最长平衡子序列的长度 。
一个序列 是序列 的子序列,如果 可以通过从 中删除若干(可能是零或全部)元素得到。
输入格式
每个测试包含多个测试用例。
第一行包含一个整数 (),表示测试用例的数量。
接下来是每个测试用例的描述:
- 第一行包含一个整数 (),表示数组 的长度。
- 第二行包含 个整数 ,满足 。
输出格式
对于每个测试用例,输出一个整数 —— 数组 的最长平衡子序列的长度。
示例
输入:
4
5
1 1 4 4 4
2
1 2
15
1 1 1 1 1 2 2 2 2 3 3 3 4 4 5
5
3 3 3 3 3
输出:
4
2
9
5
注释
-
第一个测试用例:
整个数组 中,元素 出现 次,元素 出现 次,次数不相等,因此不平衡。
子序列 是平衡的,因为元素 和 都出现 次。
因此,最长平衡子序列的长度为 。 -
第二个测试用例:
整个数组 已经是平衡的,因此最长平衡子序列的长度为 。 -
第三个测试用例:
最长平衡子序列为 ,长度为 。 -
第四个测试用例:
整个数组 已经是平衡的,因此最长平衡子序列的长度为 。