CF2114G.Build an Array

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

昨天,Dima 发现了一个空数组,并决定向数组中添加一些整数,他可以进行无限次下述操作:

  • 向数组的左端或右端添加任意一个整数。
  • 添加之后,只要数组中有一对相邻的数相同,它们就会被替换为它们的和。

可以证明数组中不会同时出现两对相邻的数相同。

例如,如果当前数组是 [3,6,4][3,6,4],我们添加 33 至数组的左端,则数组将首先变为 [3,3,6,4][3,3,6,4],随后左端的两个 33 将会被替换为 66,即数组变为 [6,6,4][6,6,4],然后进一步变为 [12,4][12,4]。

在进行了恰好 kk 次操作后,他认为自己得到了一个长度为 nn 的数组 aa。然而,他不记得自己都进行了哪些操作。请判定数组 aa 是否能由一组 kk 次操作序列得到。

输入格式

输入数据包含多个测试用例,第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)——测试用例的数量。

每个测试用例的第一行包含两个整数 nn 和 kk(1≤n≤1051 \le n \le 10^5,n≤k≤106n \le k \le 10^6)——最终数组的长度和操作的次数。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1091 \le a_i \le 10^9,ai−1≠aia_{i-1} \neq a_i)——最终数组的元素。

输入数据保证所有测试用例中的 nn 之和不超过 10510^5。

输出格式

对于每个测试用例,如果不能通过 kk 次操作得到相应的数组,输出一行 NO,否则输出一行 YES。

你可以以任意大小写输出 NO 或者 YES。例如,yEs,yes,Yes,YES 都会被视为肯定回答。

输入输出样例

  • 输入#1

    8
    3 3
    2 1 4
    3 7
    2 1 4
    2 15
    2 16
    3 10
    256 32 1
    3 289
    768 96 1
    3 290
    768 96 1
    5 7
    5 1 6 3 10
    4 6
    6 8 5 10

    输出#1

    YES
    NO
    YES
    YES
    YES
    NO
    YES
    YES

说明/提示

null

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

首页