AT_arc179_a [ARC179A] Partition
题目描述
给定你整数 $N$ 和 $K$。
定义长度为 $N$ 的整数序列 $X=(X_1,X_2,\dots,X_N)$ 的**前缀和**为长度为 $N+1$ 的序列 $Y=(Y_0,Y_1,\dots,Y_N)$ 满足:
- $Y_0=0$
- $Y_i=\sum\limits_{j=1}^{i}X_j (i=1,2,\dots,N)$
如果一个长度为 $N$ 的整数序列 $X=(X_1,X_2,\dots,X_N)$ 满足以下条件,那么它被成为**好的序列**:
- 在 $X$ 的前缀和中,任何小于 $K$ 的值都出现在任何不小于 $K$ 的值之前。
- 形式化的说,对于 $X$ 的前缀和 $Y$,对于任意整数对 $(i,j)$ 其中 $0\le i,j\le N$,如果 $Y_i
输入格式
第一行,输入两个整数 $N,K$。
第二行,输入 $N$ 个整数,表示数列 $A$。
输出格式
如果能够通过重排 $A$ 使得 $A$ 变成一个好的序列,那么:
第一行,输出 `Yes`。
第二行,输出 $N$ 个整数,表示重排过后的序列 $A$。
如果有多个满足条件的重排后的序列,输出任意一个都会被视为是正确的。
如果无法通过重排 $A$ 使得 $A$ 变成一个好的序列,输出 `No`。
### 样例 1 解释
如果将 $A$ 重排为 $(-3,-1,2,4)$,那么 $A$ 的前缀和 $Y$ 为 $(0,-3,-4,-2,2)$。在 $Y$ 中任何小于 $1$ 的值都会出现在任何不小于 $1$ 的值之前。
说明/提示
- $1\le N\le 2\times 10^5$;
- $-10^9\le K\le 10^9$;
- $-10^9\le A_i\le 10^9$;
- 所有输入都是整数。