CF2040A.Game of Division

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Game of Division

题目描述

给定一个长度为 nn 的整数数组 a1,a2,,ana_1, a_2, \ldots, a_n 和一个整数 kk

有两名玩家在进行游戏。第一名玩家选择一个下标 1in1 \le i \le n。然后第二名玩家选择一个不同的下标 1jn,ij1 \le j \le n, i \neq j。如果 aiaj|a_i - a_j| 不能被 kk 整除,则第一名玩家获胜。否则,第二名玩家获胜。

你作为第一名玩家,判断是否有可能获胜。如果可以,输出应该选择哪个下标 ii

xx 的绝对值记作 x|x|,当 x0x \ge 0x=x|x| = x,否则 x=x|x| = -x

输入格式

每组测试数据包含多组测试用例。输入的第一行包含一个整数 tt1t1001 \le t \le 100)——表示测试用例的数量。接下来是每组测试用例的描述。

每组测试用例的第一行包含两个整数 nnkk1n1001 \le n \le 1001k1001 \le k \le 100)——数组的长度和整数 kk

每组测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai1001 \le a_i \le 100)——数组 aa 的元素。

输出格式

对于每组测试用例,如果第一名玩家不可能获胜,输出 “NO”。

否则,输出 “YES”,并在下一行输出一个合适的下标 1in1 \le i \le n。如果有多个解,输出其中任意一个即可。

你可以以任意大小写输出每个字母(如 "yEs"、"yes"、"Yes" 和 "YES" 都会被识别为肯定答案)。

说明/提示

在第一个测试用例中,第一名玩家可以选择 a2=2a_2 = 2。此时:

  • 如果第二名玩家选择 a1=1a_1 = 1,则差值为 21=1|2 - 1| = 1,不能被 k=2k = 2 整除。
  • 如果第二名玩家选择 a3=3a_3 = 3,则差值为 23=1|2 - 3| = 1,不能被 k=2k = 2 整除。

在第二个测试用例中:

  • 如果第一名玩家选择 a1=1a_1 = 1,第二名玩家选择 a4=5a_4 = 5,则差值为 15=4|1 - 5| = 4,可以被 k=2k = 2 整除。
  • 如果第一名玩家选择 a2=2a_2 = 2,第二名玩家选择 a3=4a_3 = 4,则差值为 24=2|2 - 4| = 2,可以被 k=2k = 2 整除。
  • 如果第一名玩家选择 a3=4a_3 = 4,第二名玩家选择 a2=2a_2 = 2,则差值为 42=2|4 - 2| = 2,可以被 k=2k = 2 整除。
  • 如果第一名玩家选择 a4=5a_4 = 5,第二名玩家选择 a1=1a_1 = 1,则差值为 51=4|5 - 1| = 4,可以被 k=2k = 2 整除。

无论如何,第二名玩家都会获胜。

由 ChatGPT 4.1 翻译

样例

7
3 2
1 2 3
4 2
1 2 4 5
5 3
10 7 3 4 5
5 3
1 31 15 55 36
2 1
17 17
2 2
17 18
1 3
6
YES
2
NO
YES
3
NO
NO
YES
2
YES
1

在线编程 IDE

建议全屏模式获得最佳体验