3198. 挖井

单点时限: 1.0 sec

内存限制: 256 MB

FJ 决定给他分别用 $1$ 到 $N$ 编号的牧草浇水,他可以直接在一颗牧草旁边直接挖一口井来获得水,也可以用管子从任意有水的牧草那里来获得水。

在第 $i$ 颗牧草旁边挖一口井的代价为 $W_i$,用管子连接第 $i$ 与第 $j$ 颗牧草的代价为 $P_{ij}$ $(P_{ij}=P_{ji}, P_{ii}=0)$。请求出 FJ 浇灌这些牧草花费的最小代价。

输入格式

第一行,一个整数 $N$ $(1 \leq N \leq 300)$。第二行到第 $N+1$ 行,行 $i+1$ 表示 $W_i$ $(1 \leq W_i \leq 100~000)$。

第 $N+2$ 行到第 $2N+1$ 行,行 $N+1+i$ 包含 $N$ 个用空格分隔开来的整数,每行第 $j$ 个数字即是 $P_{ij}$ $(1 \leq P_{ij} \leq 100~000)$。

输出格式

仅一行,FJ 浇灌这些牧草的最小代价。

样例

Input
4
5
4
4
3
0 2 2 2
2 0 3 3
2 3 0 4
2 3 4 0
Output
9

31 人解决,36 人已尝试。

38 份提交通过,共有 101 份提交。

4.0 EMB 奖励。

创建: 3 年,3 月前.

修改: 2 年,10 月前.

最后提交: 1 天,21 小时前.

来源: USACO 2008 October

题目标签
mst