CF1656B Subtract Operation
题目描述
给定一个包含 $n$ 个整数的列表。你可以进行如下操作:选择列表中的一个元素 $x$,将 $x$ 从列表中删除,并将 $x$ 的值从剩余所有元素中减去。也就是说,每进行一次操作,列表的长度恰好减少 $1$。
给定一个整数 $k$($k>0$),请判断是否存在某种顺序的 $n-1$ 次操作,使得操作结束后,列表中唯一剩下的元素等于 $k$。
输入格式
输入包含多组测试用例。第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 $n$ 和 $k$($2 \leq n \leq 2 \cdot 10^5$,$1 \leq k \leq 10^9$),分别表示列表中整数的个数和目标值。
每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($-10^9 \leq a_i \leq 10^9$)。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,如果存在一种顺序的 $n-1$ 次操作可以使唯一剩下的元素为 $k$,输出 YES;否则输出 NO。
你可以用任意大小写输出答案(例如 "YES"、"Yes"、"yes"、"yEs" 都会被识别为正确答案)。
说明/提示
在第一个样例中,初始列表为 $\{4, 2, 2, 7\}$,目标值为 $k=5$。一种可行的方法如下:首先选择第三个元素,得到列表 $\{2, 0, 5\}$。接着选择第一个元素,得到列表 $\{-2, 3\}$。最后选择第一个元素,得到列表 $\{5\}$。
由 ChatGPT 4.1 翻译