AT_abc478_c [ABC478C] Sort Subarray

题目描述

给定一个长度为 $N$ 的整数序列 $A=(A_1,A_2,\ldots,A_N)$。 对 $A$ **恰好进行 $1$ 次**以下操作: * 选择一个满足 $1\le i\le N-K+1$ 的整数 $i$。 * 将 $A_i,A_{i+1},\ldots,A_{i+K-1}$ 按升序排序。 更严格地说,将 $A_i,A_{i+1},\ldots,A_{i+K-1}$ 从小到大排列,得到 $B_1,B_2,\ldots,B_K$,然后对于所有 $1\le j\le K$,同时将 $A_{i+j-1}$ 替换为 $B_j$。 请判断是否可以通过进行一次上述操作,使得操作后的 $A$ 按升序排列,即对于所有 $1\le i

输入格式

输入从标准输入中按照以下格式给出: ```text N K A_1 A_2 ... A_N ``` 其中: * $N$ 表示序列长度。 * $K$ 表示每次操作所选择的子数组长度。 * $A_1,A_2,\ldots,A_N$ 表示给定的整数序列。

输出格式

如果恰好进行 $1$ 次操作后,可以使 $A$ 按升序排列,则输出 `Yes`;否则输出 `No`。

说明/提示

### 样例 1 解释 例如选择 $i=2$,此时 $$ (A_2,A_3,A_4,A_5,A_6,A_7)=(4,1,4,2,1,3) $$ 将其按升序排列后变为 $$ (1,1,2,3,4,4). $$ 因此操作结束后的 $A$ 为 $$ (1,1,1,2,3,4,4,5,6), $$ 满足按升序排列的条件。 所以应输出 `Yes`。 ### 样例 2 解释 由于 $K=1$,无论选择哪个 $i$ 进行操作,序列 $A$ 都不会发生变化。 因此无法通过一次操作使 $A$ 按升序排列,应输出 `No`。 ### 数据范围 * $1\le K