eolymp
bolt
Try our new interface for solving problems
Məsələlər

Такси

Такси

Ивана и Сергея пригласили к участию в областной олимпиаде по информатике. Поскольку они проживают в разных населенных пунктах, Иван предложил воспользоваться службой такси, чтобы добраться до места проведения олимпиады.

Такси выезжает из пункта А, где проживает Иван, и направляется в пункт В, забирая Сергея, и дальше едет к месту проведения олимпиады (в пункт С).

Зная длины дорог между населенными пунктами области и стоимость проезда одного километра на такси, посчитайте на сколько больше денег потратил на поездку Иван, заезжая за Сергеем, чем следуя сразу к месту проведения олимпиады.

Известно, что такси всегда выбирает самый короткий из существующих маршрутов.

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

В первой строке записано пять чисел - четыре целых и одно действительное:

n – количество населенных пунктов,

A – населенный пункт, где проживает Иван,

B – населенный пункт, где проживает Сергей,

С – населенный пункт, где проходит олимпиада,

d – стоимость проезда 1 километра на такси. 

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

Все целые числа натуральные и не больше 100.

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

Выведите действительное число - сумму, на которую пришлось заплатить больше, заезжая за Сергеем или -1, если из пункта А не существует маршрута до населенного пункта, где проживает Сергей, или из пункта А не существует маршрута к месту проведения олимпиады.

Z1_2.jpg

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
5 1 2 3 4.25
5
1 4 2.5
4 2 3
4 5 3
3 5 2
3 4 8
Çıxış verilənləri #1
25.5
Mənbə 2020 XXXIV областная олимиіада по информатике, Житомир