测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6125. 「USACO 2022.1 Platinum」Minimizing Haybales

编程题 提高+/省选-

题目描述

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

- 如果两个相邻的草堆的高度相差不超过 $K$($1≤K≤10^9$),她可以交换这两堆草堆。

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

输入格式

输入的第一行包含 $N$ 和 $K$。第 $i+1$ 行包含第 $i$ 堆草堆的高度。

输出格式

输出 $N$ 行,第 $i$ 行包含答案中第 $i$ 堆草堆的高度。

输入输出样例

输入 #1
5 3
7
7
3
6
2
输出 #1
6
7
7
2
3

说明/提示

- 所有测试点的 $10\%$ 满足 $N≤100$。
- 所有测试点的另外 $20\%$ 满足 $N≤5000$。
- 其余 $70\%$ 的测试点没有额外限制。
上一题 去做题 下一题