printРабочее место участника

printЗадачи

904. Антигравитация

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Антигравитационный аппарат позволяет двигаться по прямой, перелетая над любыми препятствиями. Но чем выше он летит над землей, тем больше расходует энергии. У аппарата есть только два режима движения, которые нельзя совмещать  – подъем-спуск и горизонтальный полет. Для полета на расстояние `r` на высоте `h` расход энергии составляет `(A*sqrt(h)\ +\ B)*r`. Снижение или увеличение высоты на `d` метров требует расхода `C*|d|` единиц энергии.
5013.gif
Напишите программу, которая рассчитает минимум энергии, требуемый для полета в городских условиях. Точка старта и точка финиша расположены на земле (`h\ =\ 0`) и вне зданий. Можно считать, что аппарат имеет точечные размеры и может летать вплотную к зданиям и к земле.
В первой строке входного файла содержатся пять целых числа, разделенных пробелом – количество зданий `N` (`0\ ≤\ N\ ≤\ 100`), расстояние до точки назначения `X` (`0\ <\ X\ ≤\ 10^6`) и коэффициенты `A`, `B` и `C` (в диапазоне от 0 до 1000). Далее следует `N` строк, содержащих по три положительных целых числа `L_i`, `R_i`, `H_i` (`R_{i-1}\ ≤\ L_i\ <\ R_i\ <\ X`, `0\ <\ H_i\ ≤\ 1000`), разделенных пробелами – описание зданий на линии полета: координаты левой и правой стены и высота.
В первой строке выходного файла вывести одно целое число – минимальное количество затраченной энергии на поездку, округленное до ближайшего целого.

Пример ввода

2 100 2 1 10
20 40 50
50 60 25

Вывод для примера

1583
loading