1362: Купівля квитків

Перегляд у форматі PDF

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

Бали: 13
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type

За квитками на прем'єру нового мюзиклу вишикувалася черга з N осіб, кожен з яких хоче купити 1 квиток. На всю чергу працювала тільки одна каса, тому продаж квитків йшов дуже повільно і це дуже дратувало людей, які стояли у черзі. Найбільш кмітливі швидко помітили, що, як правило, кілька квитків в одні руки касир продає швидше, ніж коли ці ж квитки продаються по одному. Тому вони запропонували декільком людям, які стояли рядом, віддавати гроші першому з них, щоб він купив квитки на всіх.

Однак для боротьби зі спекулянтами касир продавала не більше 3-х квитків в одні руки, тому домовитися таким чином між собою могли лише 2 або 3 людини, які стояли підряд.

Відомо, що на продаж \(i\)-й людині з черги одного квитка касир витрачає \(A_i\) секунд, на продаж двох квитків - \(B_i\) секунд, трьох квитків - \(C_i\) секунд. Напишіть програму, яка підрахує мінімальний час, за який могли би бути обслужені всі покупці.

Зверніть увагу, що квитки на групу об'єднаних людей завжди купує перший з них. Також ніхто з метою прискорення не купує зайвих квитків (тобто квитків, які нікому не потрібні).

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

У вхідному потоці записано спочатку число \(N\) - кількість покупців у черзі \((1 ≤ N ≤ 5000)\).

Далі йде \(N\) трійок натуральних чисел \(A_i, B_i, C_i\). Кожне з цих чисел не перевищує 3600. Люди в черзі нумеруються починаючи від каси.

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

У вихідний потік виведіть одне число - мінімальний час в секундах, за який могли би бути обслужені всі покупці.

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

5
5 10 15
2 10 15
5 5 5
20 20 1
20 1 1

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

12

Коментарі

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