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

A871. Minimizing Haybales--Platinum

编程题 提高+/省选-

题目描述

Bessie is bored and yet again causing trouble in Farmer John's barn. FJ has
$N$ ($1\leq N \leq 10^5$) stacks of haybales. For each $i\in [1,N]$, the $i$th
stack has $h_i$ ($1\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 $K$ ($1\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.****

输入格式

The first line of input contains $N$ and $K$. The $i+1$-st line contains the
height of the $i$-th haybale.

输出格式

Please print out $N$ lines, the $i$-th containing the height of the $i$-th
haybale in the solution.

输入输出样例

输入 #1
5 3
7
7
3
6
2
输出 #1
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
上一题 去做题 下一题