codeforces#P1656B. Subtract Operation

Subtract Operation

以下题面由 AI 翻译。

题目描述

给定一个包含 nn 个整数的列表。你可以进行如下操作:从列表中选择一个元素 xx,将其从列表中删除,并将列表中剩余的所有元素都减去 xx 的值。因此,每次操作后,列表的长度恰好减少 11

给定一个整数 kk (k>0k>0),判断是否存在一个 n1n-1 次操作的序列,使得操作结束后列表中仅剩的元素等于 kk

输入格式

输入包含多组测试数据。第一行包含一个整数 tt (1t1041 \leq t \leq 10^4) —— 表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnkk (2n21052 \leq n \leq 2\cdot 10^5, 1k1091 \leq k \leq 10^9),分别表示列表中整数的个数和目标值。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (109ai109-10^9 \leq a_i \leq 10^9)。

保证所有测试用例的 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,如果可以通过 n1n-1 次操作得到 kk,则输出 YES,否则输出 NO

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

样例数据

4
4 5
4 2 2 7
5 4
1 9 1 3 4
2 17
17 0
2 17
18 18
YES
NO
YES
NO

提示

在第一个例子中,列表为 {4,2,2,7}\{4, 2, 2, 7\},目标值 k=5k = 5。一种可行的操作序列如下:

  1. 选择第三个元素(值为 2),得到列表 {42,22,72}={2,0,5}\{4-2, 2-2, 7-2\} = \{2, 0, 5\}
  2. 选择第一个元素(值为 2),得到列表 {02,52}={2,3}\{0-2, 5-2\} = \{-2, 3\}
  3. 选择第一个元素(值为 -2),得到列表 {3(2)}={5}\{3 - (-2)\} = \{5\}