#apc001d. [apc001_d]Forest

[apc001_d]Forest

题目描述

给定一片包含 NN 个顶点和 MM 条边的森林。顶点从 00N1N-1 进行编号。边以 (xi,yi)(x_i,y_i) 的格式给出,表示顶点 xix_iyiy_i 之间有一条边连接。

每个顶点 ii 有一个值 aia_i。你希望添加边使得森林变得连通。要添加一条边,你选择两个不同的顶点 iijj,然后在 iijj 之间添加一条边。这个操作的成本是 ai+aja_i + a_j 美元,之后不能再选择顶点 iijj

找到使森林连通所需的最小总成本,如果不可能,则打印 Impossible

约束条件

  • 1N100,0001 ≤ N ≤ 100,000
  • 0MN10 ≤ M ≤ N-1
  • 1ai1091 ≤ a_i ≤ 10^9
  • 0xi,yiN10 ≤ x_i,y_i ≤ N-1
  • 给定的图是一个森林。
  • 所有输入值都是整数。

输入输出格式

首先,从标准输入中以以下格式给出输入:

NN MM a0a_0 a1a_1 .... aN1a_{N-1} x1x_1 y1y_1 x2x_2 y2y_2 :: xMx_M yMy_M

然后,你应该打印输出。输出应以以下格式打印到标准输出中。

Impossible 或者最小总成本的值。

示例输入/输出 1

在这个示例中,有 N=7N=7 个顶点和 M=5M=5 条边。顶点 0066 的值分别为 11223344556677

输入

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

输出

7

如果我们连接顶点 0055,图变得连通,总共花费 1+6=71 + 6 = 7 美元。

示例输入/输出 2

5 0
3 1 4 1 5

输出

Impossible

我们无法使图变得连通。

示例输入/输出 3

1 0
5

输出

0

图已经连通,所以我们不需要添加任何边。