Крокуючий робот#2493

Крокуючий робот

1 секунда
64 мегабайти
Середня

Відома робототехнічна компанія розробила нову модель: двоногого ходячого робота. Для випробувань у ряд розташували кілька стовпців, кожен з яких складається з однакових кубиків. Робот може переходити з одного стовпця в інший лише тоді, коли різниця їхніх висот (тобто кількості кубиків) не перевищує .

Ваше завдання — визначити мінімальну кількість кубиків, які потрібно забрати, щоб робот зміг пройти по всьому ряду стовпців від початку до кінця.

Вхідні дані

У першому рядку задано ціле число (1 \leq N \leq 10^6) — кількість стовпців. У другому рядку міститься невід'ємних цілих чисел, кожне з яких не перевищує 2 \cdot 10^6; вони задають висоти стовпців.

Вихідні дані

У першому рядку виведіть мінімальну кількість кубиків, які потрібно забрати. У другому рядку виведіть чисел — кількість кубиків, що залишилися у відповідному стовпці.

Приклади

Приклад 1

Loading
Loading