CF1746A Maxmina
题目描述
给定一个只包含 $0$ 和 $1$ 的长度为 $n$ 的数组 $a$,以及一个整数 $k$。你可以进行以下两种操作之一:
- 选择 $a$ 中相邻的 $2$ 个元素,并用它们的最小值替换这两个元素(即 $a := [a_{1}, a_{2}, \ldots, a_{i-1}, \min(a_{i}, a_{i+1}), a_{i+2}, \ldots, a_{n}]$,其中 $1 \le i \le n-1$)。此操作会使 $a$ 的长度减少 $1$。
- 选择 $a$ 中相邻的 $k$ 个元素,并用它们的最大值替换这 $k$ 个元素(即 $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}]$,其中 $1 \le i \le n-k+1$)。此操作会使 $a$ 的长度减少 $k-1$。
请判断,经过若干次(可以为零次)操作后,是否可以将 $a$ 变为 $[1]$。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。
每组测试用例的第一行包含两个整数 $n$ 和 $k$($2 \le k \le n \le 50$),分别表示数组 $a$ 的长度和第二种操作可作用的连续区间长度。
第二行包含 $n$ 个整数 $a_{1}, a_{2}, \ldots, a_{n}$($a_i$ 为 $0$ 或 $1$),表示数组 $a$ 的元素。
输出格式
对于每组测试用例,如果可以将 $a$ 变为 $[1]$,输出 "YES";否则输出 "NO"。
说明/提示
在第一个测试用例中,你可以对第 $2$ 和第 $3$ 个元素执行第二种操作,使 $a$ 变为 $[0, 1]$,然后对第 $1$ 和第 $2$ 个元素执行第二种操作,使 $a$ 变为 $[1]$。
在第四个测试用例中,很明显无论怎么操作都无法得到 $1$。
在第五个测试用例中,你可以先对前 $3$ 个元素执行第二种操作,使 $a$ 变为 $[1, 0, 0, 1]$,然后对第 $2$ 到第 $4$ 个元素执行第二种操作,使 $a$ 变为 $[1, 1]$,最后对剩下的两个元素执行第一种操作,使 $a$ 变为 $[1]$。
由 ChatGPT 4.1 翻译