Превышение скорости
(Время: 3 сек. Память: 32 Мб Сложность: 39%)
Превышение скорости является опасным нарушением, значительно увеличивающим вероятность
трагических последствий транспортных происшествий. К сожалению контроль скорости с использованием радаров и камер не решает проблему полностью. Притормаживая перед камерами, водители
едут со значительным превышением на участках дорог, где контроль не ведётся. С целью предотвращения такого поведения используется назначение штрафа за гарантирование превышение скорости,
основанное на времени проезда дороги.
Рассмотрим дорогу, состоящую из n участков, пронумерованных от 1 до n. Длина i-го участка
составляет li метров. На i-м из участков установлено ограничение по скорости в vi м/с.
За превышение скорости предусмотрены штрафы. В зависимости от превышения, установлены
различные штрафы, величина штрафа вычисляется следующим образом.
Пусть e — максимальное превышение разрешённой скорости в процессе пребывания автомобиля
на всей дороге, то есть максимальная разница между скоростью автомобиля и максимальной разрешенной скоростью на участке, где он в этот момент находится. Если превышения скорости не было,
то штраф не взимается. В противном случае штраф вычисляется так:
- если 0 < e ≤ a1, то штраф составляет f1 денежных единиц;
- если a1 < e ≤ a2, то штраф составляет f2 денежных единиц;
- . . .
- если am−2 < e ≤ am−1, то штраф составляет fm−1 денежных единиц;
- если am−1 < e, то штраф составляет fm денежных единиц.
Таким образом, есть m диапазонов превышения скорости и соответствующие им штрафы.
Автоматическая система назначения штрафов получила данные о q автомобилях. Для удобства
пронумеруем их от 1 до q. Известно, что i-й автомобиль заехал на дорогу в момент времени si, проехал все n участков, после чего выехал с нее в момент времени ti. Отсчёт времени будем вести в секундах с открытия дороги.
Для каждого из автомобилей система должна определить, какой максимальный штраф можно гарантированно выписать этому автомобилю, основываясь только на времени заезда на дорогу и выезда с нее.
Требуется написать программу, которая по описанию границ диапазонов превышения скорости,
соответствующих штрафов и временам въезда/выезда автомобилей определяет для каждого автомобиля максимальный штраф, который можно выписать этому автомобилю.
Входные данные
Первая строка входного файла INPUT.TXT содержит единственное целое число n — количество участков на
дороге (1 ≤ n ≤ 10).
Вторая строка содержит n целых чисел vi — ограничения скорости на участках (1 ≤ vi ≤ 109).
Третья строка содержит n целых чисел li — длины участков (1 ≤ li ≤ 109).
Четвертая строка содержит единственное целое число m — количество границ диапазонов превышения скорости (1 ≤ m ≤ 105).
Пятая строка содержит m − 1 целых чисел ai — границы диапазонов превышения скорости
(1 ≤ ai ≤ 109). Гарантируется, что значения ai строго возрастают. Обратите внимание, что если
m = 1, то пятая строка ввода пустая.
Шестая строка содержит m целых чисел fi — штрафы за диапазоны превышения скоростей
(1 ≤ fi ≤ 109). Гарантируется, что значения fi возрастают.
Седьмая строка содержит единственное целое число q — количество автомобилей, которые надо
обработать (1 ≤ q ≤ 105).
Каждая из следующих q строк содержит два целых числа si и ti — время заезда на трассу и
выезда с неё i-го из рассматриваемых автомобилей (1 ≤ si < ti ≤ 109)
Выходные данные
Для каждого из q автомобилей в выходной файл OUTPUT.TXT выведите в отдельной строке максимальный штраф, который
гарантированно можно выписать этому автомобилю, основываясь только на временах его заезда на
дорогу и выезда с нее. Если возможна ситуация, что автомобиль ни разу не превысил разрешённую
скорость, следует вывести 0.
Гарантируется, что если время въезда или выезда автомобиля изменить не более чем на 10−5, штраф, который можно ему выписать, не изменится.
Пример
№ | INPUT.TXT | OUTPUT.TXT |
1 | 3
10 20 30
400 500 600
6
1 5 10 12 16
100 300 600 800 1000 1500
3
10 100
20 70
45 100 | 0
800
600 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|