CF1781D Many Perfect Squares

题目描述

给定一个由 $a_1, a_2, \ldots, a_n$ 组成的互不相同的正整数集合。 我们定义一个整数 $x$ 的“平方性”为 $a_1 + x, a_2 + x, \ldots, a_n + x$ 这 $n$ 个数中是完全平方数的个数。 请你在所有 $0 \le x \le 10^{18}$ 的整数中,找到最大的“平方性”。 完全平方数指的是形如 $t^2$ 的整数,其中 $t$ 是非负整数。最小的完全平方数有 $0, 1, 4, 9, 16, \ldots$。

输入格式

每个测试点包含多组测试数据。第一行包含一个整数 $t$($1 \le t \le 50$),表示测试数据组数。接下来是每组测试数据的描述。 每组测试数据的第一行包含一个整数 $n$($1 \le n \le 50$),表示集合的大小。 第二行包含 $n$ 个互不相同的整数 $a_1, a_2, \ldots, a_n$,按递增顺序排列($1 \le a_1 < a_2 < \ldots < a_n \le 10^9$),表示该集合。 保证所有测试数据中 $n$ 的总和不超过 $50$。

输出格式

对于每组测试数据,输出一个整数,表示存在某个 $0 \le x \le 10^{18}$ 时,$a_1 + x, a_2 + x, \ldots, a_n + x$ 中完全平方数的最大个数。

说明/提示

在第一个测试用例中,当 $x = 0$ 时,集合中有两个完全平方数:$1$ 和 $4$。无法得到超过两个完全平方数的情况。 在第二个测试用例中,当 $x = 3$ 时,集合变为 $4, 9, 16, 25, 100$,即所有元素都是完全平方数。 由 ChatGPT 4.1 翻译