A90625.Rendez-vous de Marian et Robin

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

在谦卑的相会之举中,喜悦如盛开的花朵般绽放。

分别让心愈加思念。Marian 在市场卖出了最后一件商品的同时,Robin 在 Major Oak 完成了训练。他们迫不及待地想要见面,于是两人都毫不耽搁地出发了。

旅行网络由 nn 个顶点组成,编号为 11nn,以及 mm 条边。第 ii 条边连接顶点 uiu_iviv_i,需要 wiw_i 秒才能通过(所有 wiw_i 都是偶数)。Marian 从顶点 11(市场)出发,Robin 从顶点 nn(Major Oak)出发。

此外,nn 个顶点中有 hh 个顶点各有一匹马。Marian 和 Robin 都会骑马,并且上马不需要时间(即 00 秒)。骑马时,行进时间减半。一旦上马,马会持续到旅途结束。两人必须在顶点上相遇(即不能在边上相遇)。任意一方都可以选择在任意顶点等待。

请输出 Robin 和 Marian 最早可以相遇的时间。如果顶点 11nn 不连通,则输出 1-1,表示相会取消。

输入格式

第一行输入一个整数 tt1t1041 \leq t \leq 10^4)——表示测试用例数量。

每个测试用例的第一行包含三个整数 nnmmhh2n2×105,1m2×105,1hn2 \leq n \leq 2 \times 10^5,\, 1 \leq m \leq 2 \times 10^5,\, 1 \leq h \leq n)——分别表示顶点数、边数和有马的顶点数。

每个测试用例的第二行包含 hh 个互不相同的整数 a1,a2,,aha_1, a_2, \ldots, a_h1ain1 \leq a_i \leq n)——表示有马的顶点编号。

接下来 mm 行,每行三个整数 ui,vi,wiu_i, v_i, w_i1ui,vin,2wi1061 \leq u_i, v_i \leq n,\, 2 \leq w_i \leq 10^6)——表示有一条边连接顶点 uiu_iviv_i,不骑马通过该边需要 wiw_i 秒。

没有自环和重边。所有 wiw_i 都是偶数。

保证所有测试用例中 nnmm 的总和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出一个整数,表示 Robin 和 Marian 最早可以相遇的时间。如果他们无法相遇,输出 1-1

输入输出样例

  • 输入#1

    6
    2 1 1
    1
    1 2 10
    3 1 2
    2 3
    1 2 10
    3 3 1
    2
    1 2 4
    1 3 10
    2 3 6
    4 3 2
    2 3
    1 2 10
    2 3 18
    3 4 16
    3 2 1
    2
    1 2 4
    1 3 16
    7 7 1
    3
    1 5 2
    2 6 12
    1 2 12
    6 4 8
    7 3 4
    6 3 4
    7 6 4

    输出#1

    5
    -1
    6
    19
    14
    12

说明/提示

样例说明

在第一个测试用例中,Marian 从顶点 11 骑马到顶点 22,Robin 等待。

在第二个测试用例中,顶点 1133 不连通。

在第三个测试用例中,Marian 和 Robin 都前往顶点 22 相遇。

在第四个测试用例中,Marian 先步行到顶点 22,在 22 上马后骑马到顶点 33 与 Robin 相遇。

在第五个测试用例中,Marian 先步行到顶点 22,在 22 上马后骑马返回顶点 11,再前往顶点 33,Robin 等待。

首页