Олимпиадный тренинг

Задача . C. Оптимизация дорог


Задача

Темы: дп *1700

Правительство Марса заинтересовано не только в оптимизации космических перелетов, но и в улучшении дорожной системы планеты.

Одна из самых важных магистралей Марса соединяет Олимп-Сити и Кцолоп, столицу Кидонии. В рамках этой задачи будем рассматривать только путь от Кцолопа до Олимп-Сити, но не обратный путь (от Олимп-Сити до Кцолопа).

Дорога от Кцолопа до Олимп-Сити имеет длину \(\ell\) километров. Каждая точка дороги имеет координату \(x\) (\(0 \le x \le \ell\)) — расстояние до Кцолопа в километрах. Таким образом, Кцолоп находится в точке с координатой \(0\), а Олимп-Сити — в точке с координатой \(\ell\).

На дороге стоит \(n\) дорожных знаков, на \(i\)-м из которых написано ограничение скорости \(a_i\). Это ограничение означает, что следующий километр следует проехать за \(a_i\) минут и действует до тех пор, пока по пути не встретится следующий дорожный знак. Один из дорожных знаков стоит в самом начале дороги (т. е. в точке с координатой \(0\)) и задает начальную скорость.

Зная расположение всех дорожных знаков, нетрудно вычислить время поездки от Кцолопа до Олимп-Сити. Рассмотрим пример:

В данном случае необходимо проехать первые три километра за пять минут каждый, затем — один километр за восемь минут, затем — еще четыре километра за три минуты каждый и, наконец, последние два километра за шесть минут каждый. Итого время в пути составит \(3\cdot 5 + 1\cdot 8 + 4\cdot 3 + 2\cdot 6 = 47\) минут.

С целью оптимизации движения правительство Марса решило убрать не более \(k\) дорожных знаков. При этом знак в начале дороги убирать нельзя, иначе на начальном отрезке пути не будет никаких ограничений. Убирать знаки необходимо таким образом, чтобы минимизировать время в пути от Кцолопа до Олимп-Сити.

В Кидонии сосредоточены крупные промышленные предприятия Марса, поэтому оптимизация дороги до Олимп-Сити является приоритетной задачей. По этой причине правительство Марса поручило Вам решить эту задачу и выяснить, какие знаки необходимо убрать.

Входные данные

В первой строке входных данных находится три целых числа \(n\), \(\ell\) и \(k\) (\(1 \le n \le 500\), \(1 \le \ell \le 10^5\), \(0 \le k \le n-1\)) — количество знаков на дороге от Кцолопа до Олимп-Сити, расстояние между этими городами и максимальное количество знаков, которые разрешается убрать.

Во второй строке входных данных находится \(n\) целых чисел \(d_i\) (\(d_1 = 0\), \(d_i < d_{i+1}\), \(0 \le d_i \le \ell - 1\)) — координаты знаков.

В третьей строке входных данных находится \(n\) целых чисел \(a_i\) (\(1 \le a_i \le 10^4\)) — ограничения скорости.

Выходные данные

Выведите одно целое число — минимально возможное время в пути от Кцолопа до Олимп-Сити (в минутах), если убрать не более \(k\) дорожных знаков.

Примечание

В первом примере знаки удалять нельзя, и ответ равен \(47\), как сказано в условии задачи выше.

Во втором примере следует удалить второй и четвертый знаки. Тогда придется проехать первые четыре километра за \(4\cdot5 = 20\) минут, а последние шесть километров – за \(6\cdot3 = 18\) минут. Итого получаем \(4\cdot5 + 6\cdot3 = 38\) минут.


Примеры
Входные данныеВыходные данные
1 4 10 0
0 3 4 8
5 8 3 6
47
2 4 10 2
0 3 4 8
5 8 3 6
38

time 3000 ms
memory 128 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя