#L3623. 「USACO 2022.1 Platinum」Minimizing Haybales

「USACO 2022.1 Platinum」Minimizing Haybales

题目描述
Bessie 感到无聊,于是又在 Farmer John 的牛棚里制造麻烦。FJ 有 NN1N1051 \leq N \leq 10^5)堆草堆。对于每个 i[1,N]i \in [1,N],第 ii 堆草堆有 hih_i1hi1091 \leq h_i \leq 10^9)的草。Bessie 不想让任何的草倒下来,所以她唯一可以执行的操作为:

如果两个相邻的草堆的高度相差不超过 KK1K1091 \leq K \leq 10^9),她可以交换这两堆草堆。

Bessie 在一系列这样的操作之后可以得到的字典序最小的高度序列是什么?

输入格式
输入的第一行包含 NNKK
接下来的 NN 行,第 ii 行包含第 ii 堆草堆的高度 hih_i

输出格式
输出 NN 行,第 ii 行包含答案中第 ii 堆草堆的高度。

样例
输入:

5 3
7
7
3
6
2

输出:

6
7
7
2
3

一种 Bessie 可以交换草堆的方式如下:

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

数据范围与提示

  • 所有测试点的 10%10\% 满足 N100N \leq 100
  • 所有测试点的另外 20%20\% 满足 N5000N \leq 5000
  • 其余 70%70\% 的测试点没有额外限制。