QOJ.ac

QOJ

Limite de temps : 1.0 s Limite de mémoire : 256 MB Points totaux : 100 Hackable ✓

#14118. Nusret Gökçe

Statistiques

Nusret Gökçe 绝对是迄今为止最昂贵的厨师之一(至少从他的顾客必须支付的账单来看是这样的)。他正在准备他的招牌菜:24K 黄金牛排(字面意思)。他烤制了一块外表焦脆、完美五分熟的牛排,并小心翼翼地将其切成 $n$ 块。正当他准备撒上一小撮盐时,意想不到的事情发生了:他的新手学徒在牛排旁绊倒了,把盐撒得满牛排都是!现在,这块原本完美的黄金牛排的每一块切片上分别有了 $s_1, s_2, \dots, s_n$ 粒盐。

Nusret 正在为他的招牌菜撒盐。来源:eater.com

Nusret 可不是一个会扔掉食物的人(特别是当这些食物贵如黄金时);因此,他决定挽救这块牛排。在不破坏牛排质地的情况下,他无法去掉已有的盐;相反,他将利用自己高超的撒盐技巧和颗粒级的精准度,向这 $n$ 块切片中的一些切片中加入更多的盐,以使盐的分布更加均匀。

他知道顾客会按顺序食用这 $n$ 块切片,因此如果任意两个相邻切片之间的盐量相差不超过 $m$ 粒,顾客就不会察觉到任何异常。同时,他也不希望牛排变得过于咸;因此,他会以使盐的总粒数尽可能少的方式来撒盐。

在 Nusret “挽救”了他的招牌菜之后,每块切片上会有多少粒盐?

输入格式

第一行包含两个整数 $n$($1 \le n \le 100\,000$)和 $m$($0 \le m \le 10^9$)—— Nusret 招牌菜的切片数量,以及允许的最大咸度差异。

第二行包含 $n$ 个整数 $s_1, s_2, \dots, s_n$($1 \le s_i \le 10^9$)—— $n$ 个切片上初始的盐粒数量。

输出格式

输出 $n$ 个整数 $t_1, t_2, \dots, t_n$,表示 Nusret 挽救这道菜后,每个切片上的盐粒数量。

任何使盐粒总数尽可能小的方案都将被接受。

样例

输入样例 1

8 3
1 16 4 2 3 8 1 9

输出样例 1

13 16 13 10 7 8 6 9

输入样例 2

5 0
1 5 7 1 6

输出样例 2

7 7 7 7 7

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.