#5074. Problem 1. Minimizing Haybales

0

Problem 1. Minimizing Haybales

Problem 1. Minimizing Haybales

USACO 2022 January Contest, Platinum

Bessie is bored and yet again causing trouble in Farmer John's barn. FJ has NN (1N1051\leq N \leq 10^5) stacks of haybales. For each i[1,N]i\in [1,N], the iith stack has hih_i (1hi1091\le h_i\le 10^9) haybales. Bessie does not want any haybales to fall, so the only operation she can perform is as follows:

  • If two adjacent stacks' heights differ by at most KK (1K1091\le K\le 10^9), she can swap the two stacks.

What is the lexicographically minimum sequence of heights that Bessie can obtain after some sequence of these operations?

Note: the time and memory limits for this problem are 4s and 512MB, twice the defaults.

INPUT FORMAT (input arrives from the terminal / stdin):

The first line of input contains NN and KK. The i+1i+1-st line contains the height of the ii-th haybale.

OUTPUT FORMAT (print output to the terminal / stdout):

Please print out NN lines, the ii-th containing the height of the ii-th haybale in the solution.

SAMPLE INPUT:


5 3
7
7
3
6
2

SAMPLE OUTPUT:


6
7
7
2
3

One way that Bessie can swap the stacks is as follows:


   7 7 3 6 2
-> 7 7 6 3 2
-> 7 7 6 2 3
-> 7 6 7 2 3
-> 6 7 7 2 3

SCORING: In 10% of all input cases, N100N\le 100In another 20% of all input cases, N5000N\le 5000In the remaining 70% of input cases, there are no additional constraints

Problem credits: Daniel Zhang and Benjamin Qi