AT_tupc2022_a Sum Sort

题目描述

给定一个 $(1, 2, \dots, N)$ 的排列 $P = (P_1, P_2, \dots, P_N)$。你可以任意次数地进行以下操作: - 选择满足 $P_i + P_j \leq K$ 的整数对 $(i, j)$($1 \leq i < j \leq N$),交换 $P_i$ 和 $P_j$ 的值。 你能否将 $P$ 排成升序?

输入格式

输入以以下格式从标准输入读入。 > $N\ K\ P_1\ P_2\ \cdots\ P_N$

输出格式

如果能够将排列排成升序,输出 `Yes`,否则输出 `No`。

说明/提示

### 样例解释 1 只需交换 $P_1$ 和 $P_3$ 即可。因为 $P_1 + P_3 = 3 + 1 \leq 4$,所以可以进行此交换。 ### 样例解释 2 例如 $P_3$ 和 $P_4$ 无法交换。不论采取何种操作,都无法将 $P$ 排成升序。 ### 约束条件 - $2 \leq N \leq 2 \times 10^5$ - $2 \leq K \leq 2N$ - $(P_1, P_2, \cdots, P_N)$ 是 $(1,2,\cdots,N)$ 的一个排列 - 所有输入均为整数。 由 ChatGPT 5 翻译