| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 52 | 36 | 26 | 65.000% |
Алёна отправляется в долгожданный заслуженный отпуск. Алёна очень боится опоздать на самолёт, поэтому она приехала в аэропорт в момент времени 0ドル$. На табло отправления отображается $n$ рейсов, рейс номер $i$ (в нумерации с единицы) должен вылететь в момент времени $t_i,ドル при этом $t_i > t_{i - 1}$ для всех $i \geq 2$.
К сожалению, погода в городе N очень непредсказуемая, и именно сейчас в районе аэропорта начался сильный снегопад. Для обеспечения безопасности, службы аэропорта должны после отправления каждого рейса снова очищать взлётно-посадочную полосу от снега, поэтому времена отправления двух последовательных рейсов должны отличаться хотя бы на $k$.
Алёна знает, что рейсы будут отправляться в порядке возрастания своих номеров, при этом каждый рейс будет вылетать настолько рано, насколько это возможно, но не менее чем через $k$ после вылета предыдущего рейса и не ранее изначально запланированного времени отправления $t_i$.
Поскольку мысли Алёны уже целиком посвящены отпуску, то написать программу, которая определит реальное время отправления каждого из рейсов, предстоит вам. Считайте, что для рейса с номером 1ドル$ нет предыдущего и для него не требуется чистить взлётно-посадочную полосу.
В первой строке входных данных записаны два целых числа $n$ и $k$ (1ドル \leq n \leq 100,000円,ドル 1ドル \leq k \leq 10^9$) --- количество рейсов, ожидающих отправления, и минимальный необходимый для очистки полосы зазор межу временами отправления двух последовательных самолётов.
Во второй строке записана последовательность целых чисел $t_1, t_2, \ldots, t_n$ (1ドル \leq t_1 < t_2 < \ldots < t_n \leq 10^{18}$) --- запланированные времена отправления рейсов.
Выведите последовательность из $n$ целых чисел, $i$-е из которых равняется реальному времени отправления рейса с номером $i$.
6 3 1 2 7 10 12 15
1 4 7 10 13 16
Рассмотрим первый пример из условия: