#CF3752. 移除前缀
移除前缀
题目描述
光头强有一个长度为 的整数序列 。只有当序列由不同的数字(即独特的数字)组成时,光头强才会感到高兴。
为了让他的序列变成这样,光头强要进行一些(可能为零)次操作。
在一次操作中,他可以:
移除序列的第一个(最左边的)元素。
例如,进行一次操作,序列 将产生序列 ,该序列由不同的数字组成。
确定他需要进行的最小操作次数,使得在剩余的序列中所有元素都不同。换句话说,找到给定序列 的最小前缀的长度,在删除该前缀后,序列中的所有值都是唯一的。
输入格式
输入数据的第一行包含一个整数 — 测试中的测试用例数量。
每个测试用例由两行组成。
第一行包含一个整数 - 给定序列 的长度。
第二行包含 个整数 - 给定序列 的元素。
保证所有测试用例中 的值之和不超过 。
输出格式
针对每个测试用例,请在单独的行上打印您的答案 - 必须从序列开头删除的最小元素数,以便所有其余元素都是不同的。
测试样例
5
4
3 1 4 3
5
1 1 1 1 1
1
1
6
6 5 4 3 2 1
7
1 2 1 7 1 2 1
1
4
0
0
5
样例说明
下面是移除前缀后剩下的序列:
- ;
- ;
- ;
- ;
- 。
很容易看出,所有剩下的序列都只包含不同的元素。在每个测试用例中,移除的是最短的匹配前缀。