#CF3752. 移除前缀

移除前缀

题目描述

光头强有一个长度为 nn 的整数序列 a(1ain)a(1≤a_i≤n)。只有当序列由不同的数字(即独特的数字)组成时,光头强才会感到高兴。

为了让他的序列变成这样,光头强要进行一些(可能为零)次操作。

在一次操作中,他可以:

移除序列的第一个(最左边的)元素。

例如,进行一次操作,序列 [3,1,4,3][3,1,4,3] 将产生序列 [1,4,3][1,4,3],该序列由不同的数字组成。

确定他需要进行的最小操作次数,使得在剩余的序列中所有元素都不同。换句话说,找到给定序列 aa 的最小前缀的长度,在删除该前缀后,序列中的所有值都是唯一的。

输入格式

输入数据的第一行包含一个整数 t(1t104)t(1≤t≤10^4) — 测试中的测试用例数量。

每个测试用例由两行组成。

第一行包含一个整数 n(1n2105)n(1≤n≤2⋅10^5)- 给定序列 aa 的长度。

第二行包含 nn 个整数 a1,a2,,an(1ain)a_1,a_2,…,a_n(1≤a_i≤n) - 给定序列 aa 的元素。

保证所有测试用例中 nn 的值之和不超过 21052⋅10^5

输出格式

针对每个测试用例,请在单独的行上打印您的答案 - 必须从序列开头删除的最小元素数,以便所有其余元素都是不同的。

测试样例

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

样例说明

下面是移除前缀后剩下的序列:

  • [1,4,3][1,4,3]
  • [1][1]
  • [1][1]
  • [6,5,4,3,2,1][6,5,4,3,2,1]
  • [2,1][2,1]

很容易看出,所有剩下的序列都只包含不同的元素。在每个测试用例中,移除的是最短的匹配前缀。