3308: 安慰员工
题目描述
LongDD变得非常懒, 他不想再继续维护供员工之间供通行的道路. 道路被用来连接N(5 <= N <= 10,000)个房子, 房子被连续地编号为1..N. 每一个房子都是一个员工的家.LongDD计划除去P(N-1 <= P <= 100,000)条道路中尽可能多的道路, 但是还要保持房子之间的连通性. 你首先要决定那些道路是需要保留的N-1条道路.第j条双向道路连接了房子S_j和E_j (1 <= S_j <= N; 1 <= E_j <= N; S_j != E_j),而且走完它需要L_j (0 <= L_j <= 1,000)的时间.没有两个房子是被一条以上的道路所连接. 员工们非常伤心, 因为她们的交通系统被削减了. 你需要到每一个员工的住处去安慰她们. 每次你到达第i个房子的时候(即使你已经到过), 你必须花去C_i (1 <= C_i <= 1,000)的时间和员工交谈。 你需要从某一个房子出发(这是供你选择的),并最终回到这个房子。期间,你要经过每个房子至少一次,并且当你经过某个房子的时候,你必须和这个房子里的员工交谈(即使你已经到过).假设LongDD采纳了你的建议, 请计算出使所有员工都被安慰的最少时间
输入
* 第 1 行: 用空格隔开的两个整数N和P * 第 2..N+1 行: 第i+1行包含了一个整数: C_i * 第 N+2..N+P+1 行: 第 N+j+1 行包含用空格隔开的三个整数: S_j, E_j 和 L_j
输出
* 第 1 行: 一个整数, 所需要的总时间(包含和在你所在的房子的员工的两次谈话时间)。
样例输入 复制
5 7
10
10
20
6
30
1 2 5
2 3 5
2 4 12
3 4 17
2 5 15
3 5 6
4 5 12
样例输出 复制
176
提示
【输入解释】 从房子4出发,然后按照 4, 5, 4, 2, 3, 2, 1, 2, 4 的顺序来访问员工们。 路上的总花费是:12+12+12+5+5+5+5+12=68。共和员工1交谈了1次,和2交谈了3次,和3交谈了1次,和4交谈了3次,和5交谈了1次。交谈总花费10*1+10*3+20*1+6*3+30=108。总共需要176个单位的时间。