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

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

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

Бали: 13,00 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

За квитками на прем'єру нового мюзиклу вишикувалася черга з 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

Коментарі

Please read the guidelines before commenting.


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