CF2117A.False Alarm

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

False Alarm

题目描述

Yousef 正在一个走廊的入口,这个走廊上排列有 nn 个门,顺序编号为 1,2,,n1,2,\dots,n。他需要按顺序依次通过从 11nn 的所有门来抵达出口(即通过第 nn 扇门)。

每扇门初始可能开着或者关着。如果一扇门开着,那么 Yousef 可以花费 11 秒通过这扇门。如果一扇门关着,Yousef 无法通过这扇门。

不过,Yousef 可以在任意时刻使用一个特别的按钮,但最多只能使用一次。这个按钮可以令所有关闭的门开启,持续 xx 秒。

你的任务是判断 Yousef 能否在只使用一次按钮的限制下通过所有门。

输入格式

输入数据包含多个测试用例。输入数据的第一行包含一个整数 tt1t10001 \le t \le 1000),表示测试用例的个数。

对于每个测试用例:

  • 第一行包含两个整数 nnxx1n,x101 \le n, x \le 10),分别表示门的数量和按钮效果持续的秒数。
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_nai{0,1}a_i \in \{0,1\}),表示每扇门初始的状态。开启的门用 00 来表示,关闭的门用 11 来表示。
  • 输入数据保证存在至少一个关闭的门。

输出格式

对于每个测试用例,如果 Yousef 可以抵达出口,输出 YES,否则输出 NO

你可以以任意大小写输出答案。例如,yEsyesYesYES 都会被视为肯定回答。

说明/提示

对于第一个测试用例,最佳的策略如下:

  • 在第 00 秒,第 11 扇门是开着的,所以 Yousef 可以通过这扇门。
  • 在第 11 秒,第 22 扇门是关着的,所以 Yousef 使用按钮并通过这扇门。
  • 在第 22 秒,按钮的效果仍然持续,所以 Yousef 可以通过第 33 扇门。
  • 在第 33 秒,按钮的效果消失,但第 44 扇门本来就是开着的,所以 Yousef 可以通过这扇门。

对于第二个测试用例,Yousef 的按钮只持续 33 秒,但他需要一个持续至少 44 秒的按钮才能到达出口。因此,答案是 NO

对于第三个测试用例,在 Yousef 开始移动之前,他就可以使用按钮。在 Yousef 抵达出口之前,所有的门均会保持开启。

样例

7
4 2
0 1 1 0
6 3
1 0 1 1 0 0
8 8
1 1 1 0 0 1 1 1
1 2
1
5 1
1 0 1 0 1
7 4
0 0 0 1 1 0 1
10 3
0 1 0 0 1 0 0 1 0 0
YES
NO
YES
YES
NO
YES
NO

在线编程 IDE

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