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 $ 以上の値より前に現れています.