2684. 「BalticOI 2013」管道 Pipes
题目描述
有 n 个水库,m 条管道。Jester 会在某些管道中间凿开一个洞,让水流出来或者用水泵把水打进去。保证这个流速是偶数。对于一条管道 (u,v),如果在中间凿开了一个洞让水流出来,流速是 s2d m3,那么水库 u 和 v 失水速度为 sd m3。同理,如果往一条管道 (u,v) 注水,流速为 s2p m3,那么 u 和 v 得到水的速度是 sp m3。
给定图的构造以及每个水库的水流的变化,问每条边的方案是否唯一。
输入格式
第一行:水库数量 n,管道数量 m(1≤n≤100000, 1≤m≤500000)。
下面 n 行:第 i 个水库的变化速度 ci(−109≤ci≤109)。
接下来 m 行:(u,v),保证没有重边。
输出格式
如果方案唯一,输出方案,每行一个数 xi(−109≤xi≤109)表示第 i 条管道的流量变化。放水为负数,灌水为正数。否则输出 0。
样例 1
输入
4 3
-1
1
-3
1
1 2
1 3
1 4
输出
2
-6
2
样例 2
输入
4 5
1
2
1
2
1 2
2 3
3 4
4 1
1 3
输出
0
数据范围与提示
- 1≤n≤105
- 1≤m≤5×105
- −109≤ci≤109
- 如果方案唯一,−109≤xi≤109
- 对于 30% 的测试数据,水库为树结构