#P13945. [EC Final 2019] King

[EC Final 2019] King

Description

众所周知,Pang\textit{Pang} 的论文数量呈指数增长。因此,我们对 King\textit{King} 序列产生了好奇。

给定一个质数 pp。当且仅当存在一个整数 1q<p1\leq q < p,使得对于所有整数 i[2,n]i\in [2,n],都有 qai1ai(modp)q a_{i-1} \equiv a_i \pmod p,则序列 (a1,a2,,an)(a_1,a_2,\ldots,a_n) 被称为 King\textit{King} 序列。

给定一个序列 B=(b1,,bm)B=(b_1,\ldots,b_m),请问 BB 的最长 King\textit{King} 子序列的长度是多少?

子序列指的是从原序列中删除若干元素(可以为零),且不改变剩余元素的相对顺序后得到的序列。

PangPang 最近非常忙,所以他只关心答案是否大于等于 n2\frac{n}{2}

如果最长 King\textit{King} 序列的长度小于 n2\frac{n}{2},输出 1-1。否则,输出最长 King\textit{King} 子序列的长度。

Input Format

第一行包含一个整数 TT,表示测试用例的数量(1T10001\le T\le 1000)。

每个测试用例的第一行包含两个整数 nnpp2n2000002\le n \le 2000002p10000000072\le p \le 1000000007pp 为质数)。所有测试用例中 nn 的总和不超过 200000200000

每个测试用例的第二行包含一个长度为 nn 的序列 b1,,bnb_1,\ldots, b_n1bi<p1\le b_i< p)。

Output Format

对于每个测试用例,输出一行答案,若最长 King\textit{King} 子序列长度小于 n2\frac{n}{2},则输出 1-1,否则输出最长 King\textit{King} 子序列的长度。

4
6 1000000007
1 1 2 4 8 16
6 1000000007
597337906 816043578 617563954 668607211 89163513 464203601
5 1000000007
2 4 5 6 8
5 1000000007
2 4 5 6 7
5
-1
3
-1

Hint

由 ChatGPT 4.1 翻译