#212. 修仙世界的灵藤切割挑战

修仙世界的灵藤切割挑战

题目描述

在一个神秘的修仙世界里,炼器师小轩手中有 nn 根灵藤,这些灵藤可以用来制作灵器,每根灵藤的长度为 aia_i

小轩希望他所有的灵藤长度能够完全相同,但他最多只能对灵藤进行 kk 次切割。

具体来说:每次他可以选择一根长度为 ss 的灵藤,将其切割成两段,长度分别为 xxyy,满足:

  • x,yx, y 均为正整数;
  • x+y=sx + y = s

小轩想知道,通过最多 kk 次切割,他是否能让所有灵藤的长度相等。请你帮他解答。

输入描述

本题包含多组测试数据。输入包含若干行。

第一行一个正整数 T(1T104)T(1 \leq T \leq 10^4),表示数据组数。

接下来,对于每组测试数据:

  • 第一行两个正整数 n(1n<105),k(0k1014)n(1 \leq n < 10^5), k(0 \leq k \leq 10^{14}),分别表示灵藤的数量以及最多允许的切割次数。

  • 第二行 nn 个正整数 ai(1ai109)a_i(1 \leq a_i \leq 10^9),表示每根灵藤的长度。

    (保证所有测试数据中 nn 的总和不超过 10510^5。)

输出描述

对于每组测试数据,输出一行:

  • 如果小轩可以通过不超过 kk 次切割让所有灵藤长度相等,输出 YES
  • 否则输出 NO

样例

2
3 4
1 3 2
4 1
2 2 2 3
YES
NO

解释

  • 样例 1:
    • 小轩可以将第二根灵藤切两次得到:1, 1, 1;将第三根灵藤切一次得到:1, 1。此时所有灵藤长度均为 1,满足条件。
    • 输出 YES
  • 样例 2:
    • 小轩无法通过 1 次切割让所有灵藤长度相等。
    • 输出 NO