CF2078A.Final Verdict

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

Final Verdict

题目描述

Testify - void (Mournfinale) feat. 星熊南巫

给定一个长度为 nn 的数组 aa,你需要重复执行以下操作,直到 aa 的长度变为 11

选择一个满足 k<ak < |a|ak\frac{|a|}{k} 为整数的正整数 kk。将 aa 分割成 kk 个子序列 ^{\text{∗}} s1,s2,,sks_1, s_2, \ldots, s_k,并满足以下条件:

  • aa 的每个元素恰好属于一个子序列。
  • 每个子序列的长度相等。

之后,将 aa 替换为 $\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]a = [x]

^{\text{∗}} 如果序列 xx 可以通过删除序列 yy 中的若干元素(可能为零个或全部)得到,则称 xxyy 的子序列。

输入格式

每个测试包含多个测试用例。第一行输入测试用例数 tt1t5001 \le t \le 500)。接下来描述每个测试用例。

每个测试用例的第一行包含两个整数 nnxx1n,x1001 \leq n, x \leq 100)——数组 aa 的长度和最终期望的值。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai1001 \leq a_i \leq 100)——数组 aa

输出格式

对于每个测试用例,如果存在满足条件的操作序列,输出 "YES"(不带引号),否则输出 "NO"(不带引号)。

你可以以任意大小写形式输出答案(例如字符串 "yES"、"yes" 和 "Yes" 均会被识别为肯定回答)。

说明/提示

在第一个测试用例中,x=3x = 3a=[3]a = [3] 已经满足条件。

在第二个测试用例中,x=9x = 9,且不存在任何操作序列能使最终 a=[9]a = [9]

在第三个测试用例中,x=9x = 9,存在以下一种可能的操作序列:

  1. 选择 k=2k = 2s1=[1,12,8]s_1 = [1, 12, 8]s2=[9,14,10]s_2 = [9, 14, 10]。此时 $a = [\operatorname{avg}(s_1), \operatorname{avg}(s_2)] = [7, 11]$。
  2. 选择 k=1k = 1s1=[7,11]s_1 = [7, 11]。此时 a=[avg(s1)]=[9]a = [\operatorname{avg}(s_1)] = [9]

在第四个测试用例中,x=10x = 10,存在以下一种可能的操作序列:

  1. 选择 k=1k = 1s1=[10,10,10,10,10,10,10,10,10,10]s_1 = [10, 10, 10, 10, 10, 10, 10, 10, 10, 10]。此时 a=[avg(s1)]=[10]a = [\operatorname{avg}(s_1)] = [10]

翻译由 DeepSeek R1 完成

样例

4
1 3
3
4 9
7 11 2 5
6 9
1 9 14 12 10 8
10 10
10 10 10 10 10 10 10 10 10 10
YES
NO
YES
YES

在线编程 IDE

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