Самый безопасный путь

Просмотр в формате PDF

Submit solution


Очки: 125
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

Горный район состоит из n перевалочных пунктов, соединённых m двусторонними горными участками. Для каждого участка известен его уровень риска.

Маршрут считается настолько опасным, насколько опасен самый рискованный участок на этом маршруте.

Требуется добраться из пункта s в пункт t так, чтобы уровень риска самого опасного участка на выбранном маршруте был как можно меньше.

Иными словами, среди всех путей из s в t нужно найти такой, у которого максимум значений риска на участках минимален.

Если добраться из s в t невозможно, выведите -1.

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

В первой строке заданы четыре целых числа n, m, s, t — количество пунктов, количество горных участков, начальный и конечный пункты.

В следующих m строках заданы описания участков в формате u v w, где u и v — пункты, которые соединяет участок, а w — уровень риска этого участка.

Все данные вводятся через стандартный ввод.

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

Выведите одно целое число — минимально возможный уровень риска самого опасного участка на пути из s в t, либо -1, если такого пути не существует.

Вывод должен осуществляться в стандартный вывод.

Ограничения

  • 1 <= n <= 200000
  • 0 <= m <= 300000
  • 1 <= s, t <= n
  • 1 <= u, v <= n
  • 0 <= w <= 10^9

Примеры

Пример 1

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

1 0 1 1

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

0
Пример 2

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

2 0 1 2

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

-1

Комментарии

Еще нет ни одного комментария.