#Q0110. 修路
修路
题目描述
某地区有 个乡村,编号为 ,它们通过 条双向土路连接, 保证从任意一个乡村出发,都可以沿若干条土路到达任意另一个乡村。 在这 个乡村中,有 个乡村已经完成城市化。
你打算将若干条土路升级为沥青路,以促进地区发展。但由于偏远地区施工困难,升级一条土路必须满足规则: 所选土路的至少其中一端是城市,或者是一个可以通过现有的沥青路到达某个城市的乡村。
如果你决定将第 条土路升级为沥青路,则需支付施工费用 元,并可获得交通便利带来的收益 元。 定义升级这条路的净收益为 元;如果不升级,则净收益视为 元。
请你在满足上述升级规则的前提下,依次选择一些土路进行升级(也可以一条也不选),使得总净收益最大,并输出该最大值。
输入格式
第一行包含一个整数 () — 测试数据的组数。以下是每组测试数据的描述。
第一行包含两个整数 和 () — 乡村总数以及已经城市化的乡村数量。
接下来一行包含 个整数 () — 所有完成城市化的乡村编号,保证 两两不同。
接下来 行,每行包含四个整数 — 编号为 和 的乡村之间有一条土路,这条路的施工费用为 元,收益为 元 (, )。
保证所有测试数据的 之和不超过 。
输出格式
对于每组测试数据,输出一个整数,表示在符合升级规则的前提下,所能获得的最大总净收益。
样例
3
4 2
1 2
1 3 9 10
3 4 11 8
2 4 3 7
4 2
1 3
2 1 1 5
2 3 2 6
3 4 1 4
5 1
1
1 2 5 3
2 3 1 10
3 4 10 1
4 5 1 100
5
11
97