题目描述
N 頂点 M 辺からなる有向グラフ G が与えられます.頂点には 1, 2, …, N の番号がついています.i 番目の辺は ai から bi に向かう有向辺で,ai < bi が成り立っています.
正整数列 W = (W1, W2, …, WN) の美しさを,次が成り立つような正整数 x の最大値として定義します.
- G における頂点 1 から頂点 N への任意のパス (v1, …, vk) (v1 = 1, vk = N) に対し,∑i=1k Wvi は x の倍数である.
整数列 A = (A1, A2, …, AN) が与えられます.正整数列 W = (W1, …, WN) を,Ai = −1 ⟹ Wi = Ai を満たすように定めるとき,その美しさとしてありうる最大値を求めてください.ただし,最大値が存在しない場合には -1
を出力してください.
输入格式
入力は以下の形式で標準入力から与えられます.
N M a1 b1 ⋮ aM bM A1 A2 … AN
输出格式
正整数列 W の美しさとしてありうる最大値を出力してください.ただし,最大値が存在しない場合には -1
を出力してください.
题目大意
给定 n 个点,m 条边的有向图,图中的任意一条有向边满足 边起点的编号小于边终点的编号。每个点有点权,但其中有些点的点权未知。
你需要找到一种给未知点权值的方案,使得 所有 1→n 的路径点权和的最大公因数最大,或者告知答案可以无限大。输出这个最大值。
n,m≤3×105。
4 4
1 2
1 3
2 4
3 4
-1 3 7 -1
4
4 5
1 2
1 3
2 4
3 4
1 4
-1 3 7 -1
1
4 4
1 2
1 3
2 4
3 4
3 -1 -1 7
-1
5 5
1 3
3 5
2 3
3 4
1 4
2 -1 3 -1 4
9
提示
制約
- 2≤ N≤ 3× 105
- 1≤ M≤ 3× 105
- 1≤ ai < bi ≤ N
- i= j ならば (ai,bi)= (aj,bj)
- 与えられるグラフ G において,頂点 1 から頂点 N へのパスが存在する.
- Ai = −1 または 1≤ Ai≤ 1012
Sample Explanation 1
頂点 1 から頂点 N へのパスは,(1,2,4), (1,3,4) の 2 個です. 例えば W = (5, 3, 7, 8) の美しさは 4 となります.実際,W1 + W2 + W4 = 16, W1 + W3 + W4 = 20 はともに 4 の倍数です.
Sample Explanation 2
頂点 1 から頂点 N へのパスは,(1,2,4), (1,3,4), (1,4) の 3 個です. 例えば W = (5, 3, 7, 8) の美しさは 1 となります.
Sample Explanation 3
例えば W = (3, 10100, 10100, 7) の美しさは 10100+10 となります.W の美しさをいくらでも大きくできるため,その最大値は存在しません.