P1198

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

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

老虎是中国传统文化中一个独特的意象。我们既会把老虎的形象用到喜庆的节日装饰画上,也可能把它视作一种邪恶而可怕的动物,例如“武松打虎”或者“三人成虎”。“不入虎穴,焉得虎子”体现了老虎威猛的形象,而小强偏偏进入了虎穴,现在的问题是如何从中逃出。

有一个复杂的虎穴,包括 NN 个节点,编号为 00 至 N−1N-1,以及 MM 条无向通道。其中,第 ii 条通道(0≤i<M0\le i<M)连接节点 R[i][0]R[i][0] 和 R[i][1]R[i][1],长度为 L[i]L[i]。

洞穴中有 KK 个出口节点,分别为 P[0],P[1],…,P[K−1]P[0],P[1],\ldots,P[K-1]。小强从节点 00 出发,希望尽快到达任意一个出口节点。

洞穴中还有一只能够瞬间移动的老虎。每当小强到达一个节点时,老虎会瞬间移动到与该节点相邻的某条通道中,使小强无法使用这条通道。不过,一旦小强选择了另一条没有被封锁的通道,老虎在小强到达该通道的目的地之前不会改变位置。

老虎非常聪明,总能使小强逃离洞穴所需的时间尽可能长;小强也非常聪明,能够计算出最快的逃生方案。

为了使题目更加严谨,规定小强的逃生方案如下:对于每个节点 XX,为它的每条相邻边 ⟨X,Y⟩\langle X,Y\rangle 指定一个权值 f(X,Y)f(X,Y)。注意,f(X,Y)f(X,Y) 不一定等于 f(Y,X)f(Y,X)。在一个节点上,小强会选择未被老虎封锁且权值最大的通道逃生,直到到达某个出口节点。所有的 f(X,Y)f(X,Y) 两两不同。

请计算小强在最优逃生方案下、老虎采取最不利封锁方式时的最快逃离时间 TT。

输入格式

第一行包含三个整数 NN、MM 和 KK。

接下来 MM 行,每行包含三个整数 uu、vv 和 ww,表示一条连接节点 uu 与节点 vv 的无向边,其长度为 ww。保证图中无重边、无自环。

接下来一行包含 KK 个互不相同的整数,表示出口节点的编号。

输出格式

输出一个整数,表示小强采用最优逃生方案、老虎采取最不利封锁方式时,到达任意一个出口节点所需的最短时间。

如果小强无法保证到达出口,输出 -1。如果节点 00 本身是出口,答案为 00。

样例输入

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

数据范围

  • 3≤N≤1000003\le N\le 100000;
  • 2≤M≤10000002\le M\le 1000000;
  • 1≤K≤N1\le K\le N;
  • 所有出口节点的编号均在区间 [0,N−1][0,N-1] 内,且互不相同;
  • 每条边的长度 L[i]L[i] 为正整数,且满足 1≤L[i]≤1061\le L[i]\le 10^6;
  • 图中无重边、无自环;
  • 若存在有限解,则答案不超过 101810^{18};
  • 一共有 2020 个测试点。

来源与许可

本题为 20122012 国家集训队测试试题「深入虎穴」,题面与测试数据整理自 BZOJ。

样例 1

输入

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