#CF2117A. 误报
误报
A. 误报
每次测试的时间限制:1 秒
内存限制:256 兆字节
优素福站在一条长走廊的入口处,走廊里有 扇门排成一排,编号从 到 。他需要按编号顺序依次穿过所有的门(从 到 ),并到达出口(即第 扇门之后)。
每扇门可以是开启或关闭状态。
- 如果一扇门是开启的,优素福穿过它需要 秒。
- 如果一扇门是关闭的,优素福无法通过它。
不过,优素福有一个特殊按钮,他最多只能使用一次(可以在任意时刻按下)。这个按钮会使所有关闭的门变为开启状态,并持续 秒。
你的任务是判断:如果优素福最多使用一次按钮,他能否穿过所有门。
输入
第一行包含一个整数 ()——测试用例的数量。
每个测试用例的第一行包含两个整数 ()——门的数量和按钮效果持续的时间(秒)。
每个测试用例的第二行包含 个整数 (),表示每扇门的状态:
- :门是开启的
- :门是关闭的
题目保证每个测试用例中至少有一扇关闭的门。
输出
对于每个测试用例,如果优素福可以到达出口,输出 "YES",否则输出 "NO"。
你可以以任意大小写输出答案(例如 "yEs"、"yes"、"Yes"、"YES" 均会被视为肯定回答)。
示例
输入
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
注意
-
在第一个测试用例中,最优做法是:
时间 :门是开启的,优素福通过。
时间 :门是关闭的,此时他按下按钮并通过。
时间 :按钮效果依然存在,所以他仍然可以通过。
时间 :按钮效果已结束,但门是开启的,他通过并到达出口。 -
在第二个测试用例中,按钮效果持续 秒,但他至少需要 秒才能到达出口,因此答案是
"NO"。 -
在第三个测试用例中,他可以在开始移动之前就按下按钮。所有门将保持开启状态直到他到达出口。