CF2078A.Final Verdict

入门

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

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

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

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

之后,将 aa 替换为 [avg⁡(s1),avg⁡(s2),…,avg⁡(sk)]\left[ \operatorname{avg}(s_1), \operatorname{avg}(s_2), \ldots, \operatorname{avg}(s_k) \right],其中 avg⁡(s)=∑i=1∣s∣si∣s∣\operatorname{avg}(s) = \frac{\sum_{i = 1}^{|s|} s_i}{|s|} 表示子序列所有值的平均值。例如,avg⁡([1,2,1,1])=54=1.25\operatorname{avg}([1, 2, 1, 1]) = \frac{5}{4} = 1.25。

你的任务是判断是否存在一系列操作,使得最终 a=[x]a = [x]。

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

输入格式

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

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

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤1001 \leq a_i \leq 100)——数组 aa。

输出格式

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

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

输入输出样例

  • 输入#1

    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

    输出#1

    YES
    NO
    YES
    YES

说明/提示

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

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

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

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

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

  1. 选择 k=1k = 1 且 s1=[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 完成

输入解题思路,AI测评打分。不知道怎么写?

首页