#P2622. [2012国家集训队测试]深入虎穴

[2012国家集训队测试]深入虎穴

题目描述

虎在中国传统文化中具有着独特的符号意义。它不仅出现在喜庆的节日装饰画中,还被宣扬为一种可能邪恶可怕的动物,例如“武松打虎”或“三人成虎”。“不入虎穴焉得虎子”很好地体现了虎的威猛形象,但小强却进入了虎穴,出来的问题则是措手不及。

一个复杂的虎穴包括 NN 个节点(编号为 00N1N-1)和 MM 条无向通道,其中通道 ii0i<M0 \le i<M)连接两个节点 Ri,0R_{i,0}Ri,1R_{i,1},其长度为 LiL_i。又有 KK 个出口节点,分别为 P0,P1P_0, P_1PK1P_{K-1}

小强从 00 号节点出发,他想尽快到达一个出口节点。而洞穴中有一只会瞬间移动的老虎。小强每次到达一个节点,老虎便会瞬间移动到与该节点相邻的某个通道中,使得小强无法使用这个通道。然而,一旦小强选择了另一个没有被封锁的通道,老虎就不会再动位置直到小强到达目的地。老虎总能让小强离开洞穴所要消耗的时间最长。

为了让题目更加严谨,我们规定小强的逃生方案必须满足以下条件:对于每个节点 XX,给它的所有相邻的边 <X,Y><X,Y> 指定一个权值 f(X,Y)f(X,Y),注意,f(X,Y)f(X,Y) 不等于 f(Y,X)f(Y,X);在一个节点,小强选择未被封锁的权值最大的通道逃生,直到到达出口。

你需要计算小强的最快逃离时间 TT 并输出。

输入格式

  • 第一行三个整数 NN, MM, KK
  • 接下来 MM 行,每行三个整数表示一条无向边的两端和长度(无重边)。
  • 接下来 KK 个整数,表示出口洞穴。

输出格式

输出一个整数,代表小强需要花费的最少时间。

示例

输入

13 12 9
0 1 1
0 2 4
0 3 11
1 4 11
1 5 7
1 6 15
2 7 3
2 8 13
2 9 23
3 10 3
3 11 1
3 12 2
4 5 6 7 8 9 10 11 12

输出

13

提示

时间限制:3s3s (包括系统读数据约 1.1s1.1s 。函数中运行的时间限制约为 1.9s1.9s

空间使用注意:系统大约需要使用 116M116M 空间,因此你的程序所能使用的空间不超过 400M400M

  • 对前 66 个测试点,3N10003\leq N\leq1000M=N1M=N-1
  • 对中间 77 个测试点,3N10003\leq N\leq10002M1000002\leq M\leq100000
  • 对最后 77 个测试点,3N1000003\leq N\leq1000002M10000002\leq M\leq1000000。 一共 2020 个测试点。