P25269 [AtCoder] Partition
普及-
题目描述

Problem Statement

You are given integers N and K.
The cumulative sums of an integer sequence $X=(X_1,X_2,\dots ,X_N)$ of length N is defined as $a sequence Y=(Y_0,Y_1,\dots ,Y_N)$ of length N+1 as follows:

  • Y_0=0
  • $Y_i=\displaystyle\sum_{j=1}^{i}X_j$\ $(i=1,2,\dots ,N)$

An integer sequence $X=(X_1,X_2,\dots ,X_N)$ of length N is called a good sequence if and only if it satisfies the following condition:

  • Any value in the cumulative sums of X that is less than K appears before any value that is not less than K.
  • Formally, for the cumulative sums Y of X, for any pair of integers (i,j) such that $0 \le i,j \le N$, if (Y_i < K and $Y_j \ge K)$, then i < j.

You are given an integer sequence $A=(A_1,A_2,\dots ,A_N)$ of length N. Determine whether the elements of A can be rearranged to a good sequence. If so, print one such rearrangement.

Input

The input is given from Standard Input in the following format:
N K
$A_1 A_2 \cdots A_N$

Output

If the elements of A can be rearranged to a good sequence, print the rearranged sequence $(A^{\prime}_1,A^{\prime}_2,\dots ,A^{\prime}_N)$ in the following format:
Yes
$A^{\prime}_1 A^{\prime}_2 \cdots A^{\prime}_N$

If there are multiple valid rearrangements, any of them is considered correct.
If a good sequence cannot be obtained, print No.

Constraints

  • $1 \leq N \leq 2 \times 10^5$
  • -$10^9 \leq K \leq 10^9$
  • -$10^9 \leq A_i \leq 10^9$
  • All input values are integers.

Sample Input 1

4 1
-1 2 -3 4

Sample Output 1

Yes
-3 -1 2 4

If you rearrange A to (-3,-1,2,4), the cumulative sums Y in question will be (0,-3,-4,-2,2). In this Y, any value less than 1 appears before any value not less than 1.

Sample Input 2

4 -1
1 -2 3 -4

Sample Output 2

No

Sample Input 3

10 1000000000
-1000000000 -1000000000 -1000000000 -1000000000 -1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

Sample Output 3

Yes
-1000000000 -1000000000 -1000000000 -1000000000 -1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
4 1 -1 2 -3 4
样例输出
Yes -3 -1 2 4