#CF2078A. 最终结果

最终结果

A. 最终结果

题目描述

给定一个长度为 nn 的数组 aa,你必须执行下述操作,直到数组长度变为 11

选择一个正整数 k<ak<|a|,满足 a|a| 能被 kk 整除。将数组 aa 划分为 kk 个子序列 s1,s2,,sks_1,s_2,\dots,s_k,满足:

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

之后,将数组 aa 替换为:

$$a=[\operatorname{avg}(s_1),\operatorname{avg}(s_2),\dots,\operatorname{avg}(s_k)] $$

其中 $\operatorname{avg}(s)=\dfrac{\sum_{i=1}^{|s|}s_i}{|s|}$ 表示子序列 ss 中所有元素的平均值。

你需要判断是否存在一系列操作,使得最终数组变为 a=[x]a=[x]

注:序列 xx 是序列 yy 的子序列,当且仅当 xx 可以通过删去 yy 中若干(可以是 00 个或全部)元素得到。

输入格式

每个测试包含多组数据。第一行一个整数 tt1t5001\le t\le 500),表示测试数据组数。

每组数据第一行包含两个整数 n,xn,x1n,x1001\le n,x\le 100),分别表示数组初始长度与目标最终值。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n1ai1001\le a_i\le 100),表示初始数组。

输出格式

对于每组数据,如果存在合法操作序列使得最终数组为 [x][x],输出 YES;否则输出 NO

输出不区分大小写,例如 yESyesYes 均会被判定为正确。

样例输入

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

样例解释

  1. 第一组数据:初始数组就是 [3][3],已经满足 x=3x=3,直接输出 YES
  2. 第二组数据:x=9x=9,不存在任何操作序列使得最终数组为 [9][9],输出 NO
  3. 第三组数据:一种合法操作如下:
    • k=2k=2,划分子序列 s1=[1,12,8]s_1=[1,12,8]s2=[9,14,10]s_2=[9,14,10],数组变为 $[\operatorname{avg}(s_1),\operatorname{avg}(s_2)]=[7,11]$。
    • k=1k=1,子序列 s1=[7,11]s_1=[7,11],数组变为 [avg(s1)]=[9][\operatorname{avg}(s_1)]=[9]
  4. 第四组数据:直接取 k=1k=1,对整个数组求平均,结果即为 1010