atcoder#APC001D. Forest

Forest

题目描述

N N 頂点 M M 辺の森が与えられます。頂点には 0 0 から N1 N-1 の番号がついています。 辺は (xi,yi) (x_i,y_i) の形で与えられます。これは頂点 xi x_i yi y_i が辺でつながっていることを意味します。

各頂点 i i には ai a_i という値が定まっています。 あなたは与えられた森に辺を追加して連結にしたいです。 辺を追加するときには、まず異なる頂点二つを選択し( i i , j j とする)、 i i j j の間に辺を張ります。 この時コストが ai+aj a_i+a_j かかります。そしてこれ以降,頂点 i i j j は永遠に選択できなくなります。

森を連結にする最小コストを求めてください。 連結にするのが不可能な場合はImpossibleと出力してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M a0 a_0 a1 a_1 .. .. aN1 a_{N-1} x1 x_1 y1 y_1 x2 x_2 y2 y_2 : : xM x_M yM y_M

输出格式

森を連結にする最小コストを出力せよ。ただし、不可能な場合はImpossibleと出力せよ。

题目大意

给你一个有NN个顶点和MM个边的森林,每个点有一个值aia_i。在给定的森林中添加边(i,j)(i,j),森林变得连通,此操作花费ai+aja_i+ a_j美元,并且之后不能再选择点iijj

第一行输入NNMM;第二行输入NN个数,表示aia_i;然后依次输入MM对数,表示这两个点联通。

找到连接森林所需的最低总成本,否则输出"Impossible"。

7 5
1 2 3 4 5 6 7
3 0
4 0
1 2
1 3
5 6
7
5 0
3 1 4 1 5
Impossible
1 0
5
0

提示

制約

  • 1 < = N < = 100,000 1\ <\ =\ N\ <\ =\ 100,000
  • 0 < = M < = N1 0\ <\ =\ M\ <\ =\ N-1
  • 1 < = ai < = 109 1\ <\ =\ a_i\ <\ =\ 10^9
  • 0 < = xi,yi < = N1 0\ <\ =\ x_i,y_i\ <\ =\ N-1
  • 与えられるグラフは森
  • 入力は全て整数

Sample Explanation 1

頂点 0 0 , 5 5 をつなぐとグラフが連結になり,この時かかるコストは 1 + 6 = 7 1\ +\ 6\ =\ 7 です。

Sample Explanation 2

どのように辺を追加してもグラフを連結にすることはできません。

Sample Explanation 3

最初からグラフは連結であるので,辺を追加する必要はありません。