#P005877. 忍者神龟

    ID: 5877 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>24-9-C组月赛T2最短路基础图论普及/提高−

忍者神龟

题目描述

NN 个地点和 MM 条单向道路,每条道路上都有一个敌人,其战斗力为 PiP_i

共有 QQ 次询问。每次询问给出起点 SiS_i 和终点 EiE_i。对于一条从 SiS_iEiE_i 的路径,将路径上战斗力最高的敌人的战斗力作为这条路径的危险值。请在所有可行路径中求出最小的危险值。

如果无法从 SiS_i 到达 EiE_i,输出 -1

输入格式

第一行包含三个整数 N,M,QN,M,Q

接下来 MM 行,每行包含三个整数 Ui,Vi,PiU_i,V_i,P_i,表示一条从地点 UiU_i 到地点 ViV_i 的单向道路,敌人的战斗力为 PiP_i

接下来 QQ 行,每行包含两个整数 Si,EiS_i,E_i,表示一次询问的起点和终点。

输出格式

对于每次询问,输出一行一个整数,表示最小危险值;如果无法到达,输出 -1

5 6 4
1 2 10
1 3 20
2 3 30
3 4 35
4 5 20
3 5 50
1 3
3 5
1 5
5 3
20
35
35
-1

数据范围与提示

  • 对于 20%20\% 的数据,1N501 \le N \le 501M,Q1001 \le M,Q \le 100
  • 对于全部数据,1N3001 \le N \le 3001M250001 \le M \le 250001Q400001 \le Q \le 40000
  • 1Ui,Vi,Si,EiN1 \le U_i,V_i,S_i,E_i \le N
  • 1Pi1061 \le P_i \le 10^6