Codeforces Round 666 (Div. 1) |
---|
Закончено |
Ziota нашел игру, которая назыается «Monster Invaders».
Аналогично другим RPG стрелялкам, в «Monster Invaders» требуется уничтожать монстров и боссов с помощью оружия.
Для простоты, мы рассмотрим только два вида монстров и три вида оружия.
А именно, два вида монстров это:
И три вида оружия:
Исходно оружия незаряжены, и Ziota не может перезаряжать несколько оружий одновременно.
Этапы в игре могут быть описаны массивом $$$a_1, a_2, \ldots, a_n$$$, в котором $$$i$$$-й этап содержит $$$a_i$$$ обычных монстров и одного босса. Из-за натуры игры, Ziota не может использовать пистолет (оружие первого типа) или AWP (оружие третьего типа) чтобы выстрелить в босса, до того как будут убиты все $$$a_i$$$ обычных монстров.
Если Ziota ранит босса, но не убивает его полностью, он обязан уйти с текущего этапа на любой соседний этап (соседние к этапу $$$i$$$ $$$(1 < i < n)$$$ это этапы $$$i - 1$$$ и $$$i + 1$$$, единственный сосед этапа $$$1$$$ это этап $$$2$$$, единственный этап соседний к этапу $$$n$$$ это $$$n - 1$$$). Ziota также может уйти в любом соседний уровень в любой момент времени. Каждый переход между соседними уровнями выполняется с помощью портала, с временем телепортации $$$d$$$.
Чтобы не повредить пространственно-временной континуум внутри игры, запрещено перезаряжаться или стрелять в монстров во время телепортации.
Ziota начинает игру на этапе 1. Его задача довольно проста, убить всех монстров на всех этапах. Он хочет узнать минимальное время, которое ему нужно, чтобы этого добиться (вы можете считать, что выстрел в монстров происходит мгновенно и у него есть бесконечное количество патронов для каждого оружия). Пожалуйста, помогите ему найти это значение.
В первой строке записаны пять целых чисел, разделенных пробелами: $$$n$$$ $$$(2 \le n \le 10^6)$$$ — количество этапов, $$$r_1, r_2, r_3$$$ $$$(1 \le r_1 \le r_2 \le r_3 \le 10^9)$$$ — времена перезарядки трех оружий, $$$d$$$ $$$(1 \le d \le 10^9)$$$ — время перехода между соседними уровнями.
Во второй строке записаны $$$n$$$ разделенных пробелами целых чисел $$$a_1, a_2, \dots, a_n$$$ $$$(1 \le a_i \le 10^6, 1 \le i \le n)$$$.
Выведите одно целое число, минимальное время, которое требуется для прохождения игры.
4 1 3 4 3 3 2 5 1
34
4 2 4 4 1 4 5 1 2
31
В первом примере, оптимальная стратегия это:
Обратите внимание, что здесь мы останавливаемся не на этапе $$$n$$$, а когда все боссы убиты.
Название |
---|