eolymp
bolt
Try our new interface for solving problems
Problems

Автомагистраль

Автомагистраль

Команда Логарифмической области страны Олимпия собирается на олимпиаду, которая состоится в далеком городе Экспоненциальске. Команда поедет на собственном автобусе. Автомагистраль, соединяющая Логарифмическую область с Экспоненциальском, состоит из \textbf{N} последовательных фрагментов. По каждому фрагменту можно ехать либо по бесплатной дороге, тратя \textbf{a_i} секунд, либо по платной, тратя \textbf{c_i} олимпийских центов и \textbf{b_i} секунд. Между этими фрагментами есть транспортные развязки, через которые можно съехать с одной дороги на другую. Такие перестроения требуют \textbf{q_i} секунд (без разницы, с платной дороги на бесплатную или с бесплатной на платную). При продолжении движения по той же дороге аналогичных задержек не происходит. Сначала можно выехать как на бесплатую дорогу, так и на платную. Завершить путь тоже можно по любой из двух дорог последнего фрагмента. Поэтому, развязки есть только между \textbf{1}-ым и \textbf{2}-ым фрагментами, между \textbf{2}-ым и \textbf{3}-им, ..., между (\textbf{N--1})-ым и \textbf{N}-ым. При поездке на олимпиаду очень важно успеть вовремя, поэтому команду интересует, за какую наименьшую стоимость можно добраться из Логарифмической области в Экспоненциальск, потратив суммарно не более чем \textbf{T }секунд. При возвращении с олимпиады время не настолько критично, и перед командой было поставлено требование заплатить на обратном пути не больше чем \textbf{S} олимпийских центов дорожных сборов. Все затраты времени и дорожные сборы одинаковы при движении в обоих направлениях. Напишите программу, которая по данным о бесплатных и платных дорогах автомагистрали будет находить: \begin{enumerate} \item Наименьшую стоимость, за которую можно доехать на олимпиаду за время, не большее \textbf{T} секунд; \item Наименьшее время, за которое можно вернуться с олимпиады, заплатив не больше чем \textbf{S} центов дорожных сборов. \end{enumerate} \InputFile Первая строка содержит три целых числа: \textbf{N }(\textbf{2 }≤ \textbf{N }≤ \textbf{40}) - количество фрагментов магистрали, \textbf{T }(\textbf{0 }≤ \textbf{T }≤ \textbf{10^16}) и \textbf{S }(\textbf{0 }≤ \textbf{S }≤ \textbf{10^16}) - ограничение на суммарное время при поиске первого ответа и ограничение на суммарную стоимость при поиске второго. Вторая строка содержит три целых числа \textbf{a_1}, \textbf{b_1} и \textbf{c_1} - время движения по бесплатной и платной дорогах \textbf{1}-го фрагмента, и цену проезда по платной. Каждая из последующих\textbf{ N -- 1} строк содержит по четыре целых числа \textbf{q_i}, \textbf{a_i}, \textbf{b_i} и \textbf{c_i} - сначала время на перестроение между дорогами, потом время движения по бесплатной и платной дорогам этого фрагмента, потом цену проезда по платной. Отметим, что на пути на олимпиаду \textbf{q_i} - время, необходимое на перестроение с (\textbf{i--1})-го фрагмента на \textbf{i}-ый, а на обратном пути \textbf{q_i} - время, необходимое на перестроение с \textbf{i}-го фрагмента на (\textbf{i--1})-ый (при условии, что автобус съезжает с платной дороги на бесплатную или наоборот). Все значения \textbf{a_i}, \textbf{b_i} и \textbf{c_i} (\textbf{1 }≤ \textbf{i }≤ \textbf{N}) в пределах от \textbf{1 }до \textbf{10^15}. Все значения \textbf{q_i} (\textbf{2 }≤ \textbf{i }≤ \textbf{N}) в пределах от \textbf{0 }до \textbf{10^9}. \OutputFile Единственная строка должна содержать два целых числа - стоимость самого дешевого способа доехать на олимпиаду за время, не большее \textbf{T} секунд, и длительность самого быстрого среди способов вернуться с олимпиады, заплатив не более чем \textbf{S} центов дорожных сборов. Если ни одного соответствующего способа не существует, следует вывести \textbf{-1}, как одно из чисел. \textit{\textbf{Объяснение}}: Самый дешевый способ за время, не большее \textbf{2012} - проехать \textbf{1}-ый фрагмент по платной дороге, далее по бесплатной: суммарная стоимость \textbf{10000} + \textbf{0} + \textbf{0} + \textbf{0} + \textbf{0} = \textbf{10000} за время \textbf{17} + \textbf{4} (перестроение) + \textbf{1000} + \textbf{100} + \textbf{10} + \textbf{1} = \textbf{1132}. Самый быстрый способ вернуться с суммой сборов не более \textbf{2012} - \textbf{5}-ый и \textbf{4}-ый фрагменты по бесплатной, \textbf{3}-ий и \textbf{2}-ой по платной, \textbf{1}-ый по бесплатной: время \textbf{1} + \textbf{10} + \textbf{2} (перестроение) + \textbf{17} + \textbf{17} + \textbf{4} (перестроение) + \textbf{10000} = \textbf{10051} при сумме сборов \textbf{0} + \textbf{1000} + \textbf{100} + \textbf{0} + \textbf{0} = \textbf{1100}.
Time limit 1 second
Memory limit 256 MiB
Input example #1
5 2012 2012
10000 17 10000
4 1000 17 1000
3 100 17 100
2 10 17 10
1 1 17 1
Output example #1
10000 10051
Author Илья Порублев
Source 2012 XXV All-Ukrainian Informatics Olympiad, Vinnitsa, March 24 - 28, Round 1