[BalticOI 2013 Day1] Pipes
题目描述
给定一个 $N$ 点 $M$ 边的无向图,**保证图连通**。现在每个点都有一定量的水,现在可以在一条边上进行操作:
- 让水流出:给定 $d$,假设长度为 $m$,流的时间为 $s$,那么总共失水速度为 $\dfrac{2dm^3}{s}$,这条边两边的每个点的失水速度为 $\dfrac{dm^3}{s}$。
- 让水流进:给定 $p$,假设长度为 $m$,流的时间为 $s$,那么总共得水速度为 $\dfrac{2pm^3}{s}$,这条边两边的每个点的得水速度为 $\dfrac{pm^3}{s}$。
现在给定这个图,和每个点的水量的变化速度,求每条边的水量的变化速度的构造方案。
输入输出格式
输入格式
第一行两个整数 $N,M$ 代表点数和边数。
这 $N$ 个点编号为 $1$ 到 $N$。
接下来 $N$ 行每行一个整数 $c_i$ 代表这个点的水量变化速度,正数为得水,负数为失水。
接下来 $M$ 行每行两个整数代表一条边。
输出格式
如果不存在这样的构造方案或者有多解,只输出一个整数 `0`。
如果存在这样的方案,输出 $M$ 行,每行一个整数代表每条边的水量变化速度。
得水为正数,失水为负数。
输入输出样例
输入样例 #1
4 3
-1
1
-3
1
1 2
1 3
1 4
输出样例 #1
2
-6
2
输入样例 #2
4 5
1
2
1
2
1 2
2 3
3 4
4 1
1 3
输出样例 #2
0
说明
#### 数据规模与约定
对于 $100\%$ 的数据,$1 \le N \le 10^5$,$1 \le M \le 5 \times 10^5$,$-10^9 \le c_i \le 10^9$,如果有解且唯一解,每个答案在 $[-10^9,10^9]$ 的范围内。
对于其中 $30\%$ 的数据,该图为一棵树。
#### 说明
翻译自 [BalticOI 2013 Day1 C Pipes](https://boi.cses.fi/files/boi2013_day1.pdf)。