#P14221. [ICPC 2024 Kunming I] 学而时习之

[ICPC 2024 Kunming I] 学而时习之

题目描述

给定长度为 nn 的正整数序列 a1,a2,,ana_1, a_2, \cdots, a_n 以及一个非负整数 kk,您可以执行以下操作至多一次:选择两个整数 llrr 满足 1lrn1 \le l \le r \le n,之后对于每个 lirl \le i \le r,将 aia_i 变为 (ai+k)(a_i + k)

最大化整个序列的最大公因数。

称整数 gg 是整个序列的公因数,若对于所有 1in1 \le i \le n 都满足 aia_i 能被 gg 整除。

输入格式

有多组测试数据。第一行输入一个整数 TT 表示测试数据组数。对于每组测试数据:

第一行输入两个整数 nnkk1n3×1051\leq n\leq 3 \times 10^50k10180\leq k\leq 10^{18})。

第二行输入 nn 个整数 a1,a2,,ana_1, a_2, \cdots, a_n1ai10181 \le a_i \le 10^{18})表示序列。

保证所有数据 nn 之和不超过 3×1053 \times 10^5

输出格式

每组数据输出一行一个整数,表示整个序列最大的最大公因数。

2
6 2
5 3 13 8 10 555
3 0
3 6 9
5
3

提示

对于第一组样例数据,选择 l=2l = 2 以及 r=4r = 4。序列会变为 {5,5,15,10,10,555}\{5, 5, 15, 10, 10, 555\}。序列的最大公因数是 55