CF1692B.All Distinct

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

All Distinct

题目描述

Sho 有一个包含 nn 个整数的数组 aa。每次操作可以选择两个不同的下标 iijj,并从数组中移除 aia_iaja_j

例如,对于数组 [2,3,4,2,5][2, 3, 4, 2, 5],Sho 可以选择移除下标 1133,操作后数组变为 [3,2,5][3, 2, 5]。注意,每次操作后,数组长度减少 22

经过若干次操作后,Sho 得到的数组中所有元素都互不相同。此外,他进行操作的方式使得最终数组的长度尽可能大。

更正式地说,Sho 操作后的数组满足以下条件:

  • 不存在一对下标 (i<j)(i < j) 使得 ai=aja_i = a_j
  • 数组 aa 的长度最大。

请输出最终数组的长度。

输入格式

第一行包含一个整数 tt1t1031 \leq t \leq 10^3),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn1n501 \leq n \leq 50),表示数组的长度。

每个测试用例的第二行包含 nn 个整数 aia_i1ai1041 \leq a_i \leq 10^4),表示数组的元素。

输出格式

对于每个测试用例,输出一个整数,表示最终数组的长度。注意,最终数组中所有元素都不同,并且长度最大。

说明/提示

对于第一个测试用例,Sho 可以按如下方式进行操作:

  1. 选择下标 1155 移除。数组变为 [2,2,2,3,3,3][2,2,3,3][2, 2, 2, 3, 3, 3] \rightarrow [2, 2, 3, 3]
  2. 选择下标 1144 移除。数组变为 [2,2,3,3][2,3][2, 2, 3, 3] \rightarrow [2, 3]

最终数组长度为 22,因此答案为 22。可以证明 Sho 无法得到更长的数组。

对于第二个测试用例,Sho 可以按如下方式进行操作:

  1. 选择下标 3344 移除。数组变为 [9,1,9,9,1][9,1,1][9, 1, 9, 9, 1] \rightarrow [9, 1, 1]
  2. 选择下标 1133 移除。数组变为 [9,1,1][1][9, 1, 1] \rightarrow [1]

最终数组长度为 11,因此答案为 11。可以证明 Sho 无法得到更长的数组。

由 ChatGPT 4.1 翻译

样例

4
6
2 2 2 3 3 3
5
9 1 9 9 1
4
15 16 16 15
4
10 100 1000 10000
2
1
2
4

在线编程 IDE

建议全屏模式获得最佳体验