Зробити строго зростаючим

Переглянути як PDF

Надіслати розвʼязок

Бали: 10,00 (частково)
Ліміт часу: 1.0s
Ліміт памʼяті: 256M
Ввід: stdin
Вивід: stdout

Тип задачі

Дано масив із ~N~ цілих чисел. За одну операцію ви можете вибрати будь-який елемент і збільшити його на ~1~ (операцію можна виконувати будь-яку кількість разів для будь-яких елементів).

Знайдіть мінімальну загальну кількість операцій, щоб масив став строго зростаючим, тобто ~a_1 < a_2 < \dots < a_N~.

Вхідні дані

Перший рядок містить ціле число ~N~ (~1 \le N \le 100\,000~).

Другий рядок містить ~N~ цілих чисел ~a_1, a_2, \dots, a_N~ (~1 \le a_i \le 10^9~).

Вихідні дані

Виведіть одне ціле число — мінімальну кількість операцій.

Приклад

Вхідні дані
4
1 2 1 3
Вихідні дані
3

Пояснення: один із оптимальних способів — збільшити третій елемент на ~2~ (стає ~3~) і четвертий на ~1~ (стає ~4~). Отримаємо масив ~[1, 2, 3, 4]~.


Коментарі

Будь ласка, прочитайте правила перед коментуванням.


Наразі коментарів немає.