U120773 森林扩张

题目描述

小$L$走进了一片森林。这片森林由 $n$ 个点和 $m$ 条边组成,每个点都有一个大小 $a_i$。小 $L$ 不小心在森林里迷路了,于是 $TA$ 决定给森林添上几条边,把整片森林连成一棵树,就能走出去了,在点 $i$ 与点 $j$ 间连一条边需要花费 $a_i + a_j$ 的代价。此外,小 $L$ 还发现每个点上最多只能添一条边。小 $L$ 想知道能不能走出森林,如果能的话,最小代价是多少。

输入格式

第一行两个整数 $n$ 和 $m$,表示森林的点数与边数。 接下来一行,$n$ 个以空格分隔的整数,表示每个点的大小。 接下来 $m$ 行,每行两个正整数,描述森林的一条边。保证给出的图是一片森林。

输出格式

假如不能把森林变成一棵树,输出 $−1$,否则输出最小代价。

说明/提示

对于 $30\%$ 的数据,所有点的点权都相同; 对于 $100\%$ 的数据,$0 ≤ m < n ≤ 10^5, 0 ≤ a_i ≤ 10^9,$保证给出的图是一片森林(可能是一棵完整的树)。