CF1548B Integers Have Friends
题目描述
英国数学家 John Littlewood 曾经这样评价印度数学家 Srinivasa Ramanujan:“每一个正整数都是他的私人朋友。”
事实证明,正整数之间也可以成为朋友!给定一个由不同正整数组成的数组 $a$。
定义子数组 $a_i, a_{i+1}, \ldots, a_j$ 为一个“朋友团”,当且仅当存在一个整数 $m \ge 2$,使得 $a_i \bmod m = a_{i+1} \bmod m = \ldots = a_j \bmod m$,其中 $x \bmod y$ 表示 $x$ 除以 $y$ 的余数。
你的朋友 Gregor 想知道数组 $a$ 中最大的朋友团的大小。
输入格式
每组测试包含多组测试用例。第一行包含测试用例的数量 $t$($1 \le t \le 2 \cdot 10^4$)。
每个测试用例的第一行包含一个整数 $n$($1 \le n \le 2 \cdot 10^5$),表示数组 $a$ 的长度。
接下来一行包含 $n$ 个正整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^{18}$),表示数组 $a$ 的内容。保证 $a$ 中所有数字互不相同。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
输出共 $t$ 行,每行一个整数,表示数组 $a$ 中最大的朋友团的大小。
说明/提示
在第一个测试用例中,数组为 $[1,5,2,4,6]$。最大的朋友团是 $[2,4,6]$,因为这些数对 $2$ 取模都等于 $0$,即 $m=2$。
在第二个测试用例中,数组为 $[8,2,5,10]$。最大的朋友团是 $[8,2,5]$,因为这些数对 $3$ 取模都等于 $2$,即 $m=3$。
在第三个测试用例中,最大的朋友团是 $[1000,2000]$。显然有很多 $m$ 满足条件。
由 ChatGPT 4.1 翻译