题目描述
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 部分