#666. 平衡序列
平衡序列
题目描述
我们称一个数组为 平衡的 当且仅当数组中每个不同元素出现的次数都相同。例如, 和 是平衡的,但 不是平衡的(元素 和 的出现次数不同)。注意空数组被视为平衡的。
给你一个非降序数组 ,长度为 。请你求出它的最长平衡子序列的长度。
子序列的定义:序列 是序列 的子序列,当且仅当可以通过从 中删除若干(可能为 0 或全部)元素得到 。
输入格式
输入包含多组测试数据。第一行包含一个整数 (),表示测试用例数量。随后是 个测试用例,每个测试用例包含两行:
- 第一行包含一个整数 ()——数组 的长度;
- 第二行包含 个整数 ,满足 。
输出格式
对于每个测试用例,输出一个整数——数组 的最长平衡子序列的长度。
样例输入
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
说明
样例 1 解释
原数组 不是平衡的( 出现 次, 出现 次)。选择子序列 ,各元素出现次数均为 ,长度为 ,为最长可能值。
样例 2 解释
已经平衡。
样例 3 解释
可取子序列 ,长度为 。
样例 4 解释
整个数组已平衡,长度为 。
数据范围
。