Замовлення від лісозаготівельників
Limits: 2 sec., 256 MiB
До компанії Зеника й Марічки PLVIV звернулось із замовленням лісозаготівельне підприємство.
У лісі потрібно обрізати \(n\) дерев — кожне на певній висоті \(h_i\).
Обрізку виконуватиме арборист (фахівець з обслуговування та догляду за деревами) на люльці автовежі. Автовежа може підіймати та опускати арбориста на будь-яку висоту. Також автовежа може їздити від одного дерева до іншого в довільному порядку.
Напишіть для лісозаготівельного підприємства програму, яка обчислить мінімально можливе сумарне підіймання та опускання люльки для обрізки дерев. До відповіді не потрібно враховувати рух автовежі перед обрізкою першого дерева та після обрізки останнього.
Input
У першому рядку задано ціле число \(n\) — кількість дерев до обрізки.
У другому рядку записано \(n\) цілих чисел \(h_i\) — висоти, на яких потрібно обрізати дерева.
Output
В одному рядку виведіть ціле число — мінімально можливе сумарне підіймання та опускання люльки для обрізки дерев.
Constraints
\(1 \le n \le 1000\),
\(1 \le h_i \le 10^6\).
Samples
Input (stdin) | Output (stdout) |
---|---|
4 1 2 3 4 | 3 |
Input (stdin) | Output (stdout) |
---|---|
4 47 44 7 4 | 43 |
Input (stdin) | Output (stdout) |
---|---|
7 4474 7174 774477 717 7744 1234 1105 | 773760 |
Notes
У першому прикладі вигідно обрізати дерева у тому порядку, у якому вони задані. Спочатку встановлюємо люльку на висоті \(1\) та зрізаємо перше дерево. Потім поступово піднімаємо її до висоти \(2\), \(3\) і нарешті \(4\), по черзі обрізаючи всі дерева. Сумарне підіймання дорівнює \(3\). Люлька жодного разу не опускалась, тому сумарне опускання дорівнює \(0\).
У другому прикладі також оптимально обрізати дерева в заданому порядку. Спочатку встановлюємо люльку на висоті \(47\) та зрізаємо перше дерево. Потім опускаємо її на \(3\) одиниці до висоти \(44\) та обрізаємо друге дерево. Потім ще опускаємо на \(37\) одиниць до висоти \(7\) та обрізаємо третє дерево. І нарешті опускаємо ще на \(3\) одиниці та обрізаємо останнє дерево. Сумарне підіймання дорівнює нулю, а сумарне опускання — \(3+37+3=43\).
У третьому прикладі, на відміну від перших двох, потрібно обрізати дерева в іншому порядку, ніж вони задані.
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|