loj#P2684. 「BalticOI 2013」管道 Pipes

「BalticOI 2013」管道 Pipes

题目描述

nn 个水库,mm 条管道。Jester 会在某些管道中间凿开一个洞,让水流出来或者用水泵把水打进去。保证这个流速是偶数。对于一条管道 (u,v)(u, v),如果在中间凿开了一个洞让水流出来,流速是 2dm3s\frac{2dm^3}s,那么水库 uuvv 失水速度为 dm3s\frac{dm^3}s。同理,如果往一条管道 (u,v)(u, v) 注水,流速为 2pm3s\frac{2pm^3}s,那么 uuvv 得到水的速度是 pm3s\frac{pm^3}s

给定图的构造以及每个水库的水流的变化,问每条边的方案是否唯一。

输入格式

第一行:水库数量 nn,管道数量 mm1n100000,1m5000001 \le n \le 100 000, 1 \le m \le 500 000)。
下面 nn 行:第 ii 个水库的变化速度 cic_i109ci109-10^9 \le c_i \le 10^9)。
接下来 mm 行:(u,v)(u, v),保证没有重边。

输出格式

如果方案唯一,输出方案,每行一个数 xix_i109xi109-10^9 \le xi \le 10^9)表示第 ii 条管道的流量变化。放水为负数,灌水为正数。否则输出 0

4 3
-1
1
-3
1
1 2
1 3
1 4
2
-6
2
4 5
1
2
1
2
1 2
2 3
3 4
4 1
1 3
0

数据范围与提示

1N105,1 \le N \le 10^5, 1M5×105,1 \le M \le 5\times 10^5, 109ci109−10^9 \le c_i \le 10^9
如果方案唯一,109xi109−10^9 \le x_i \le 10^9
对于 30%30\% 的测试数据,水库为树结构。

翻译来自 abcdabcd987。