/ ZYCode / 题库 /

【ZYCode R5】造龙舟

【ZYCode R5】造龙舟

题目描述

小 Y 做作业的时候突然想造一条龙舟。龙舟需要龙头、龙身、龙尾三个部分,为了集齐这三个部分,小 Y 想知道,他最少要走多长的路。

镇上有 nn 个房子。小 Y 的家编号为 ss ,其余的每座房子都有三种部件中的一个。有 mm 条路**连通**了这些房子,每条路有一个长度 ww 。小 Y 每走到一个地方就可以获得那里的部件。(他自己家里一个也没有)求他至少走多远才能拿到龙头、龙身、龙尾三种部件至少各一个。

输入格式

第一行一个整数 TT 表示测试点编号。

接下来一行三个整数 n,m,sn,m,s

接下来一行 nn 个数,第 ii 个整数 aia_i 在 0 到 3 之间,表示这座房子的部件种类。当且仅当 i=si=s 时, ai=0a_i=0 ,表示家里没有部件。

接下来 mm 行,每行三个整数 u,v,wu,v,w 分别表示这条路连接的两座房子和路的长度。

输出格式

一行一个整数表示答案。

保证三种部件均存在。

样例

样例输入 1

0
5 5 1
0 1 2 3 2
1 2 1
2 3 2
5 3 2
3 4 1
1 3 3

样例输出 1

提示说明

原图为简单无向图。

数据范围及限制如下。

数据点编号 nn mm ww 特殊性质
131-3 100\le 100 500\le 500 104\le 10^4
464-6 105\le 10^5 3×105\le 3\times 10^5 109\le 10^9 A
7107-10 105\le 10^5 3×105\le 3\times 10^5 109\le 10^9

特殊性质 A :只有1个节点有龙头,只有1个节点有龙尾。

对于 100% 的数据,保证:

1n1051\le n\le 10^5

n1mmin(n×(n1)2,3×105)n-1\le m\le min(\frac{n\times (n-1)}{2},3\times 10^5)

1u,vn1\le u,v\le n

1w1091\le w\le 10^9

信息

ID
1028
难度
1900
分类
(无)
标签
递交数
2
已通过
1
通过率
50%
上传者