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$; - 所有输入都是整数。