操作后只有一种数,等价于所有 AiA_iAi 模 MMM 同余,也就是 MMM 整除每个差 Ai−A1A_i-A_1Ai−A1。
令 g=gcd(∣A2−A1∣,…,∣AN−A1∣)g=\gcd(|A_2-A_1|,\ldots,|A_N-A_1|)g=gcd(∣A2−A1∣,…,∣AN−A1∣),存在 M≥2M\ge2M≥2 当且仅当 ge1g e1ge1;全相等时 g=0g=0g=0,同样可以选择任意足够大的 MMM 得到一种数。
若 g=1g=1g=1,一种数不可能,而选择 M=2M=2M=2 后余数至多为 0、1 两种,所以答案为 2。
0
1
线性求 gcd 即可,时间复杂度为 O(NlogmaxAi)O(N\log\max A_i)O(NlogmaxAi),额外空间为 O(1)O(1)O(1)。
注册一个 Hydro 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 Hydro 通用账户