#W1028. 航线危机

航线危机

题目背景

在繁忙的星际航线中,探险家小 G 计划驾船从 起点空间站 s 前往 终点空间站 t。宇宙空间中分布着许多通过虫洞连接的跳跃点,但每个虫洞都充满了不稳定的空间波动。

每一条航线(边)都有一个能量不稳定性数值。如果小 G 选择某条路径,由于飞船护盾的限制,整段旅程的安全程度取决于该路径上最危险(波动值最大) 的那一段。为了确保飞船不被撕碎,小 G 希望找到一条路径,使得航程中经历的最大波动值尽可能地小。

题目描述

星际地图上有 nn 个空间站和 mm 条双向航线。每条航线连接两个空间站,并标注了通过该航线时产生的空间波动强度。

请你规划一条从指定的起点站到终点站的路线,使得该路线上所有航线中波动强度的最大值达到最小。输出这个最小的波动强度值。

输入格式

第一行包含四个整数 n,m,s,tn, m, s, t,分别表示空间站数量、航线数量、起点站编号和终点站编号。

接下来的 mm 行,每行包含三个整数 u,v,wu, v, w,表示空间站 uuvv 之间有一条波动强度为 ww 的双向航线。

数据范围:$1 \leq n \leq 10^5, 1 \leq m \leq 2 \times 10^5, 1 \leq u, v, s, t \leq n, 0 \leq w \leq 10^9$。

输出格式

一个整数,表示从 sstt 的所有路径中,最大波动强度的最小值。如果无法到达,则输出 -1。

样例

4 5 1 4
1 2 10
1 3 5
2 4 8
3 2 1
3 4 12
8

样例解释

从 1 到 4 有多条路径:

  • 1241 \rightarrow 2 \rightarrow 4:波动强度分别为 101088,最大值为 1010
  • 1341 \rightarrow 3 \rightarrow 4:波动强度分别为 551212,最大值为 1212
  • 13241 \rightarrow 3 \rightarrow 2 \rightarrow 4:波动强度分别为 5,1,85, 1, 8,最大值为 88。 综上,最小的最大波动强度为 8。