eolymp
bolt
Try our new interface for solving problems
Məsələlər

Покупка билетов

Покупка билетов

За билетами на премьеру нового мюзикла выстроилась очередь из $n$ человек, каждый из которых хочет купить один билет. На всю очередь работала только одна касса, поэтому продажа билетов шла очень медленно, приводя "постояльцев" очереди в отчаяние. Самые сообразительные быстро заметили, что, как правило, несколько билетов в одни руки кассир продает быстрее, чем когда эти же билеты продаются по одному. Поэтому они предложили нескольким стоящим подряд людям отдавать деньги первому из них, чтобы он купил билеты на всех. Однако для борьбы со спекулянтами кассир продавал не более трех билетов в одни руки, поэтому договориться таким образом между собой могли лишь два или три подряд стоящих человека. Известно, что на продажу $i$-му человеку из очереди одного билета кассир тратит $a_i$ секунд, на продажу двух билетов $b_i$ секунд, трёх билетов $c_i$ секунд. Напишите программу, которая подсчитает минимальное время, за которое можно обслужить всех покупателей. Обратите внимание, что билеты на группу объединившихся людей всегда покупает первый из них. Также никто в целях ускорения не покупает лишних билетов (то есть билетов, которые никому не нужны). \InputFile Первое число содержит количество покупателей в очереди $n~(1 \le n \le 5000)$. Далее идет $n$ троек натуральных чисел $a_i, b_i, c_i$. Каждое из этих чисел не превышает $3600$. Люди в очереди нумеруются начиная от кассы. \OutputFile Вывести минимальное время в секундах, за которое можно обслужить всех покупателей.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
5
5 10 15
2 10 15
5 5 5
20 20 1
20 1 1
Çıxış verilənləri #1
12
Giriş verilənləri #2
2
3 4 5
1 1 1
Çıxış verilənləri #2
4