Logo 邂逅编程之美

UOJ

时间限制:2 s 空间限制:512 MB
统计

Sample

B 道路(road)

TIME:2S
Memory:512M

题目描述

给出一张$n$个点,$m$条边的无向图。每个点有一个点权$a_i$,每条边有一个边权$b_i$。设这$m$条边组成的集合为$E$,对于一个边集$S$,定义其“导出点集”$nxt(S)=\{ x|∃_e \in S,x是e的一个端点 \}$ 。

再给出一个整数$k$ ,求$max_{|S| \le k} \sum_{x \in nxt(S)}a_x-\sum_{e \in S}b_e$ 。

换言之,就是选出一个不超过$k$条边的边集$S$ ,最大化($nxt(S)$ 的点权和 减去$S$内的边权和)。 (边集可以为空)

输入格式

从 graph.in 读入数据。

第一行一个整数$T$,表示数据组数;

对于每组数据:

第一行三个整数$n,m,k$; 第二行$n$个整数,$a_{1...n}$ ,表示每个点的点权; 接下来的$m$ 行,每行三个整数$x_i,y_i,b_i$,表示一条边的两端点和边权。

输出格式

向 graph.out 输出答案。 对于每组数据,输出一行一个整数,表示答案。

输入样例1

1 
5 5 2
1 2 4 8 16
1 2 1
1 3 2
3 4 2
4 5 2
2 5 1

输出样例1

27

样例2-

见下发文件。

数据规模与约定

对于10%的数据,保证图是一棵没有重边的树。

对于另外20%的数据,$n \le 15$ 。

对于另外30% 的数据,$a_i=1,b_i=0,k \le 8$ 。

对于所有数据,$T \le 3,1 \le n,m \le 100,1 \le k \le 10, 0 \le a_i,b_i \le 10^8,1 \le x_i,y_i \le n,x_i \neq y_i,$,给出的图没有自环,但可能有重边。