CF1764B.Doremy's Perfect Math Class

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

Doremy's Perfect Math Class

题目描述

“大家好!Doremy 的完美数学课马上就要开始了!如果你想拥有和我一样高的智商,就来尽力表现吧!”在今天的数学课上,Doremy 正在教大家减法。现在她给你出了一道小测验,以证明你在认真听课。

给定一个包含正整数的集合 SS。你可以进行如下操作若干次(可能为零次):

  • 从集合 SS 中选择两个整数 xx 和 yy,满足 x>yx > y 且 x−yx-y 不在集合 SS 中。
  • 将 x−yx-y 加入集合 SS。

你需要告诉 Doremy,若最优地进行操作,集合 SS 中最多可以包含多少个整数。可以证明,这个数是有限的。

输入格式

输入包含多组测试数据。第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试数据的组数。接下来是每组测试数据的描述。

每组测试数据的第一行包含一个整数 nn(2≤n≤1052 \le n \le 10^5),表示集合 SS 的大小。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤a1<a2<⋯<an≤1091 \le a_1 < a_2 < \cdots < a_n \le 10^9),表示集合 SS 中的正整数。

保证所有测试数据中 nn 的总和不超过 2×1052 \times 10^5。

输出格式

对于每组测试数据,输出集合 SS 最多可以包含多少个整数。可以证明,这个值是有限的。

说明/提示

在第一个测试用例中,不存在满足条件的 xx 和 yy。集合 SS 最多只能包含 22 个整数。

在第二个测试用例中:

  • 初始时 S={5,10,25}S = \{5, 10, 25\}。你可以选择 x=25x=25,y=10y=10,然后将 x−y=15x-y=15 加入集合。
  • 此时 S={5,10,15,25}S = \{5, 10, 15, 25\}。你可以选择 x=25x=25,y=5y=5,然后将 x−y=20x-y=20 加入集合。
  • 此时 S={5,10,15,20,25}S = \{5, 10, 15, 20, 25\}。现在无法再进行任何操作。

经过所有操作后,集合 SS 中共有 55 个整数。可以证明,没有其他操作顺序能使 SS 包含超过 55 个整数。

由 ChatGPT 4.1 翻译

样例

2
2
1 2
3
5 10 25
2
5

在线编程 IDE

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