CF887F Row of Models

题目描述

在时装秀的最后环节,所有模特都会走上舞台站成一排,设计师站在最右边的模特右侧。在彩排时,Izabella 发现这排站得不好看,但她又说不出来哪里需要调整。 和很多有创意的人一样,Izabella 对美有自己特殊的理解。她判断一排模特是否美观,看的是模特们的身高。如果对于每一位模特,向右最近的比她矮的人(可以是模特也可以是设计师)距离不超过 $k$(相邻两人的距离为 1,隔着一个人距离为 2,依此类推),她就认为这排队形是美观的。 Izabella 想把这排模特变得美观,但设计师也有自己的审美,所以 Izabella 最多只能执行一次以下操作:选择一对位置左边的人高于右边人的模特,交换他们的位置。 设计师(站在最右边的那个人)比所有模特都矮,且不能参与交换。 你需要判断是否有可能通过至多一次上述交换操作,使这排模特对 Izabella 来说变得美观。

输入格式

第一行包含两个整数 $n$ 和 $k$($1 \leq n \leq 5 \times 10^{5}$,$1 \leq k \leq n$),分别表示模特的数量和距离限制。 第二行包含 $n$ 个用空格分隔的整数 $a_i$($1 \leq a_i \leq 10^{9}$),表示每个模特的身高。注意,设计师的身高未给出,但他肯定比所有模特都矮。

输出格式

如果可以通过最多一次交换使队列美观,输出「YES」,否则输出「NO」。不需要引号。

说明/提示

由 ChatGPT 5 翻译