ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1031. Железнодорожные билеты

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Построена железнодорожная линия “Екатеринбург-Свердловск” с несколькими станциями. Эта железная дорога может быть представлена в виде отрезка, на котором расположены железнодорожные станции. Железнодорожная линия начинается на станции Екатеринбург и заканчивается на станции Свердловск, поэтому станции пронумерованы от Екатеринбурга (у нее номер 1), а Свердловск – последняя станция.
Problem illustration
Стоимость билета между любыми двумя станциями зависит только от расстояния между ними. Цены на билеты указаны в следующей таблице.
distance X between stations стоимость билета
0 < XL1 C1
L1 < XL2 C2
L2 < XL3 C3
Прямые билеты с одной станции на другую можно купить, если и только если расстояние между этими станциями не превышает L3. Поэтому иногда приходится покупать несколько билетов на разные участки пути, чтобы добраться от одной станции до другой.
Например, на железнодорожной линии, показанной на рисунке выше, имеется семь станций. Прямой билет со второй станции на шестую купить нельзя. Существует несколько способов оплаты проезда между этими станциями. Один из них заключается в покупке двух билетов: одного по цене C2 для проезда между второй и третьей станциями, а другого по цене C3 для проезда между третьей и шестой станциями. Обратите внимание, что хотя расстояние между второй и шестой станциями равно 2L2, для проезда не хватит двух билетов по цене C2, так как каждый билет действителен только на одну поездку и каждая поездка должна обязательно начинаться и заканчиваться на станциях.
Ваша задача – написать программу, которая найдет минимальную стоимость проезда между двумя заданными станциями.

Исходные данные

Первая строка содержит целые числа L1, L2, L3, C1, C2 и C3 (1 ≤ L1 < L2 < L3 ≤ 109; 1 ≤ C1 < C2 < C3 ≤ 109). Вторая строка содержит целое число N – количество станций (2 ≤ N ≤ 10000). Третья строка содержит два различных целых числа. Они представляют собой порядковые номера станций, проезд между которыми должен быть оплачен. В следующих N − 1 строке содержатся расстояния от первой станции (Екатеринбург) на железнодорожной линии до других. Эти расстояния задаются в виде различных положительных целых чисел и следуют в порядке возрастания. Расстояние от Екатеринбурга до Свердловска не превышает 109. Расстояние между любыми соседними станциями не превышает L3. Минимальная стоимость проезда между двумя заданными станциями не превышает 109.

Результат

Выведите минимальную стоимость проезда между двумя заданными станциями.

Пример

исходные данныерезультат
3 6 8 20 30 40
7
2 6
3
7
8
13
15
23
70
Автор задачи: Павел Залецкий
Источник задачи: III командный студенческий чемпионат Урала по программированию. 1999 г.