#P8980. 「DROI」Round 1 游戏

    ID: 8146 远端评测题 1000~2000ms 512MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>数学洛谷原创O2优化素数判断,质数,筛法

「DROI」Round 1 游戏

题目背景

人生,又何尝不是一场游戏呢?

题目描述

你将和一名小朋友进行 TT 次游戏,每一次游戏的规则如下:

  1. 首先,你需要在 [1,n][1,n] 中选择一个正整数 xx

  2. 接下来,小朋友会有 QQ 次询问,对于每次询问,他会给出一个 aia_i(保证 ai[1,n]a_i \in [1,n]),你需要回答他 gcd(x,ai)\gcd(x,a_i) 的值。

  3. 当某一轮小朋友得到答案后,如果他能唯一确定你选择的数,那么本次游戏结束。

现在你提前知道了小朋友每次询问的 aia_i,你需要找到一个 xx,使得游戏持续的轮数最长。

输入格式

本题有多组数据。

第一行一个整数 TT,表示进行游戏的次数。

对于每次游戏:

第一行两个整数,分别为 nnQQ

第二行 QQ 个整数,其中第 ii 个整数表示 aia_i

输出格式

对于每次游戏,请输出游戏能持续的最长轮数,如果存在一个 xx 使得小朋友在 QQ 轮之后也无法唯一确定其值,则输出game won't stop

1
11 3
8 9 5
game won't stop
2
8 5
8 2 3 5 7 
24 16
3 17 18 5 19 4 16 23 7 11 13 18 6 21 22 2

5
11

提示

样例解释#1

选取 1111 作为 xx,显然小朋友到游戏结束也无法唯一确定。


样例解释#2

对于第一组数据:选取 11 作为 xx,小朋友在第五轮结束后可以唯一确定 xx,可以证明不存在更优的 xx

对于第二组数据:同理,选取 11 作为 xx 即可。


数据范围

「本题采用捆绑测试」

  • Subtask1(20%)\operatorname{Subtask} 1(20\%)n,Q500n,Q\leq 500

  • Subtask2(20%)\operatorname{Subtask} 2(20\%)n,Q5×104n,Q \leq 5 \times 10^4

  • Subtask3(30%)\operatorname{Subtask} 3(30\%)Q105Q \leq 10^5

  • Subtask4(30%)\operatorname{Subtask} 4(30\%):无特殊限制。

对于 100%100\% 的数据:T10T \leq 101ain10181 \leq a_i \leq n \leq 10^{18}1Q2×1061 \leq Q \leq 2\times 10^{6}Q6×106\sum Q \leq 6\times 10^{6}

本题输入量较大,请用较快的输入方法。