CF2078A Final Verdict

题目描述

[Testify - void (Mournfinale) feat. 星熊南巫](https://www.youtube.com/watch?v=xkUN_9HFNPg) 给定一个长度为 $n$ 的数组 $a$,你需要重复执行以下操作,直到 $a$ 的长度变为 $1$: 选择一个满足 $k < |a|$ 且 $\frac{|a|}{k}$ 为整数的正整数 $k$。将 $a$ 分割成 $k$ 个子序列 $^{\text{∗}}$ $s_1, s_2, \ldots, s_k$,并满足以下条件: - $a$ 的每个元素恰好属于一个子序列。 - 每个子序列的长度相等。 之后,将 $a$ 替换为 $\left[ \operatorname{avg}(s_1), \operatorname{avg}(s_2), \ldots, \operatorname{avg}(s_k) \right]$,其中 $\operatorname{avg}(s) = \frac{\sum_{i = 1}^{|s|} s_i}{|s|}$ 表示子序列所有值的平均值。例如,$\operatorname{avg}([1, 2, 1, 1]) = \frac{5}{4} = 1.25$。 你的任务是判断是否存在一系列操作,使得最终 $a = [x]$。 $^{\text{∗}}$ 如果序列 $x$ 可以通过删除序列 $y$ 中的若干元素(可能为零个或全部)得到,则称 $x$ 是 $y$ 的子序列。

输入格式

每个测试包含多个测试用例。第一行输入测试用例数 $t$($1 \le t \le 500$)。接下来描述每个测试用例。 每个测试用例的第一行包含两个整数 $n$ 和 $x$($1 \leq n, x \leq 100$)——数组 $a$ 的长度和最终期望的值。 第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 100$)——数组 $a$。

输出格式

对于每个测试用例,如果存在满足条件的操作序列,输出 "YES"(不带引号),否则输出 "NO"(不带引号)。 你可以以任意大小写形式输出答案(例如字符串 "yES"、"yes" 和 "Yes" 均会被识别为肯定回答)。

说明/提示

在第一个测试用例中,$x = 3$ 且 $a = [3]$ 已经满足条件。 在第二个测试用例中,$x = 9$,且不存在任何操作序列能使最终 $a = [9]$。 在第三个测试用例中,$x = 9$,存在以下一种可能的操作序列: 1. 选择 $k = 2$,$s_1 = [1, 12, 8]$ 和 $s_2 = [9, 14, 10]$。此时 $a = [\operatorname{avg}(s_1), \operatorname{avg}(s_2)] = [7, 11]$。 2. 选择 $k = 1$ 且 $s_1 = [7, 11]$。此时 $a = [\operatorname{avg}(s_1)] = [9]$。 在第四个测试用例中,$x = 10$,存在以下一种可能的操作序列: 1. 选择 $k = 1$ 且 $s_1 = [10, 10, 10, 10, 10, 10, 10, 10, 10, 10]$。此时 $a = [\operatorname{avg}(s_1)] = [10]$。 翻译由 DeepSeek R1 完成