10915. Комп'ютерна гра (платформи)


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Чи можете ви згадати хоч одного свого знайомого до двадцятирічного віку, який у дитинстві не грав у комп'ютерні ігри? Якщо так, то може бути ви й самі не знайомі з цією розвагою? Втім, труднощів при вирішенні цього завдання створити не повинно.

У багатьох старих іграх із двовимірною графікою можна зіткнутися з подібною ситуацією. Якийсь герой стрибає по платформах (або острівцям), що висять у повітрі. Він повинен перебратися від одного краю екрана до іншого. При цьому при стрибку з однієї платформи на сусідню, у героя йде \(|y_2-y_1 |\) одиниць енергії, де \(y_1\) та \(y_2\) — висоти, на яких розташовані ці платформи. Крім того, у героя є суперприйом, який дозволяє перескочити через платформу, але на це витрачається \(3·|y_3-y_1|\) одиниць енергії. Звичайно, енергію слід витрачати максимально економно.

Припустимо, що вам відомі координати всіх платформ у порядку від лівого краю до правого. Чи зможете ви знайти, яка мінімальна кількість енергії знадобиться герою, щоб дістатися з першої платформи до останньої?

Формат вхідних даних

У першому рядку записано кількість платформ \(n\) (\(1 ≤ n ≤ 30000\)).

Другий рядок містить \(n\) натуральних чисел, що не перевищують 30000 - висоти, на яких розташовуються платформи.

Формат вихідних даних

Виведіть одне число - мінімальну кількість енергії, яку повинен витратити гравець на подолання платформ (звичайно ж у припущенні, що cheat-коди використовувати не можна).

Приклад вхідних даних

2
100 1

Приклад вихідних даних

99

Приклад вхідних даних

3
1 100 80

Приклад вихідних даних

119

Коментарі

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