CF1746A.Maxmina

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

Maxmina

题目描述

给定一个只包含 0011 的长度为 nn 的数组 aa,以及一个整数 kk。你可以进行以下两种操作之一:

  • 选择 aa 中相邻的 22 个元素,并用它们的最小值替换这两个元素(即 $a := [a_{1}, a_{2}, \ldots, a_{i-1}, \min(a_{i}, a_{i+1}), a_{i+2}, \ldots, a_{n}]$,其中 1in11 \le i \le n-1)。此操作会使 aa 的长度减少 11
  • 选择 aa 中相邻的 kk 个元素,并用它们的最大值替换这 kk 个元素(即 $a := [a_{1}, a_{2}, \ldots, a_{i-1}, \max(a_{i}, a_{i+1}, \ldots, a_{i+k-1}), a_{i+k}, \ldots, a_{n}]$,其中 1ink+11 \le i \le n-k+1)。此操作会使 aa 的长度减少 k1k-1

请判断,经过若干次(可以为零次)操作后,是否可以将 aa 变为 [1][1]

输入格式

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

每组测试用例的第一行包含两个整数 nnkk2kn502 \le k \le n \le 50),分别表示数组 aa 的长度和第二种操作可作用的连续区间长度。

第二行包含 nn 个整数 a1,a2,,ana_{1}, a_{2}, \ldots, a_{n}aia_i0011),表示数组 aa 的元素。

输出格式

对于每组测试用例,如果可以将 aa 变为 [1][1],输出 "YES";否则输出 "NO"。

说明/提示

在第一个测试用例中,你可以对第 22 和第 33 个元素执行第二种操作,使 aa 变为 [0,1][0, 1],然后对第 11 和第 22 个元素执行第二种操作,使 aa 变为 [1][1]

在第四个测试用例中,很明显无论怎么操作都无法得到 11

在第五个测试用例中,你可以先对前 33 个元素执行第二种操作,使 aa 变为 [1,0,0,1][1, 0, 0, 1],然后对第 22 到第 44 个元素执行第二种操作,使 aa 变为 [1,1][1, 1],最后对剩下的两个元素执行第一种操作,使 aa 变为 [1][1]

由 ChatGPT 4.1 翻译

样例

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

在线编程 IDE

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