3671: 最小

内存限制:256 MB 时间限制:3.000 S
评测方式:文本比较 命题人:
提交:8 解决:2

题目描述

给一个由n个点m条边构成的无向带权图。         

其中有些是黑点,另外点是白点。        

现在每个白点都要与他距离最近的黑点通过最低路连接(如果有多个,可以选取其中任意一个),现在可以去掉一些边使保留下的边的代价尽量小。         

最后保留的边保证每个白点都与他距离最近的黑点(原图)通过最低路连接。

输入

第一行两个整数n,m。         

第二行n个整数,0表示白点,1表示黑点。         

接下来m行,每行三个整数x,y,z,表示一条连接x和y,权值为z的边。

输出

如果无解,输出impossible;         

否则,输出最小代价。

样例输入 复制

5 7
0 1 0 1 0
1 2 11
1 3 1
1 5 17
2 3 1
3 5 18
4 5 3
2 4 5

样例输出 复制

5

提示

【样例解释】         

选2、4、6边。

数据范围与约定         

对于30%的数据:1 <= n <= 10, 1 <= m <= 20。         

对于100%的数据:1 <= n <= 10 ^ 5, 1 <= m <= 2 * 10 ^ 5, 1 <= z <= 10^9。