AT_arc179_a [ARC179A] Partition
Description
[problemUrl]: https://atcoder.jp/contests/arc179/tasks/arc179_a
整数 $ 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=\displaystyle\sum_{j=1}^{i}X_j\ (i=1,2,\dots\ ,N) $
長さ $ N $ の整数列 $ X=(X_1,X_2,\dots\ ,X_N) $ が**良い数列**であるとは, 次の条件を満たすことを言います.
- $ X $ の累積和の要素の任意の $ K $ 未満の値は, 任意の $ K $ 以上の値よりも前に現れる.
- 正確には, $ X $ の累積和を $ Y $ として, $ 0\le\ i,j\le\ N $ なる任意の整数組 $ (i,j) $ について, $ (Y_i\lt\ K $ かつ $ Y_j\ge\ K) $ ならば $ i\lt\ j $ が成り立つ.
長さ $ N $ の整数列 $ A=(A_1,A_2,\dots\ ,A_N) $ が与えられます. $ A $ の要素を自由に並べ替えることで $ A $ を良い数列にできるかどうか判定し, できる場合は並べ替えた後の $ A $ としてあり得るものをひとつ出力してください.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ K $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $
Output Format
$ A $ の要素を自由に並べ替えることで $ A $ を良い数列にできる場合は, 並べ替えた後の $ A $ を $ (A^{\prime}_1,A^{\prime}_2,\dots\ ,A^{\prime}_N) $ として, 次の形式で出力せよ.
> Yes $ A^{\prime}_1 $ $ A^{\prime}_2 $ $ \cdots $ $ A^{\prime}_N $
なお, 条件を満たす並べ替えが複数存在する場合は, どれを出力しても正答となる.
良い数列にできない場合は `No` を出力せよ.
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 2\times\ 10^5 $
- $ -10^9\ \leq\ K\ \leq\ 10^9 $
- $ -10^9\ \leq\ A_i\ \leq\ 10^9 $
- 入力される値はすべて整数.
### Sample Explanation 1
$ A $ を並べ替えて $ (-3,-1,2,4) $ とすると, 問題文中の条件における $ Y $ は $ (0,-3,-4,-2,2) $ となります. この $ Y $ に現れる任意の $ 1 $ 未満の値は, $ Y $ に現れる任意の $ 1 $ 以上の値より前に現れています.