编程题
### 问题描述 在战争时期,兵粮的输送是至关重要的任务。每一次胜利的打击都需要有足够的食物和弹药作为后盾,我们的兵粮输送团队已经做好了准备,随时准备将粮草、军火运往前线。 小郑作为指挥官,管辖着 $N$ 个连,这 $N$ 个连有着 $M$ 条双向路径连接,小郑需要统筹调配兵粮物资。 每个连对于物资的需求情况为 $a[i]$,如果大于 $0$ 则说明该连物资富裕,可以调配给其他连 $a[i]$ 单位资源。 如果 $a[i]$ 小于 $0$ 则说明该连物资缺乏,需要从其他地方调配 $a[i]$ 单位资源到该连。 每个单位的物资运输代价就是运输距离,请你帮帮小郑,求出所有物资缺乏连得到足够资源的最少运输代价和。 ### 输入格式 第一行输入两个整数 $N$、$M$,分表代表连的数量和路径数量。 随后一行输入 $N$ 个整数,分别代表该连物资的需求量 $a[i]$。 随后 $M$ 行,每行输入三个整数 $U$、$V$、$W$,表示 $U$ 和 $V$ 之间有一条距离为 $W$ 的双向路径。 ### 输出格式 输出 $1$ 个整数,表示使所有紧缺物资的连得到足够的资源的最小运输代价和;如果无法满足要求,则输出 $-1$。 ### 样例输入 ```text 3 3 10 0 -5 1 2 1 2 3 3 1 3 5 ``` ### 样例输出 ```text 20 ``` ### 样例说明 样例中,位置 $1$ 要运送给位置 $3$ 五个单位的资源,此时位置 $1$ 到位置 $3$,通过 $1\Rightarrow>2\Rightarrow 3$ 距离为 $4$,故总代价为 $20$。 ### 评测数据规模 对于所有评测数据,$0 \lt N、M、U、V \lt 500$,$0 \lt W \lt 10^3$,$-10^3 \lt a[i] \lt 10^3$。
查看答案
赣ICP备20007335号-2