atcoder#ARC144E. [ARC144E] GCD of Path Weights

[ARC144E] GCD of Path Weights

题目描述

N N 頂点 M M 辺からなる有向グラフ G G が与えられます.頂点には 1, 2, , N 1,\ 2,\ \ldots,\ N の番号がついています.i i 番目の辺は ai a_i から bi b_i に向かう有向辺で,ai < bi a_i\ <\ b_i が成り立っています.

正整数列 W = (W1, W2, , WN) W\ =\ (W_1,\ W_2,\ \ldots,\ W_N) 美しさを,次が成り立つような正整数 x x の最大値として定義します.

  • G G における頂点 1 1 から頂点 N N への任意のパス (v1, , vk) (v_1,\ \ldots,\ v_k) (v1 = 1, vk = N v_1\ =\ 1,\ v_k\ =\ N ) に対し,i=1k Wvi \sum_{i=1}^k\ W_{v_i} x x の倍数である.

整数列 A = (A1, A2, , AN) A\ =\ (A_1,\ A_2,\ \ldots,\ A_N) が与えられます.正整数列 W = (W1, , WN) W\ =\ (W_1,\ \ldots,\ W_N) を,Ai  1      Wi = Ai A_i\ \neq\ -1\ \implies\ W_i\ =\ A_i を満たすように定めるとき,その美しさとしてありうる最大値を求めてください.ただし,最大値が存在しない場合には -1 を出力してください.

输入格式

入力は以下の形式で標準入力から与えられます.

N N M M a1 a_1 b1 b_1 \vdots aM a_M bM b_M A1 A_1 A2 A_2 \ldots AN A_N

输出格式

正整数列 W W の美しさとしてありうる最大値を出力してください.ただし,最大値が存在しない場合には -1 を出力してください.

题目大意

给定 nn 个点,mm 条边的有向图,图中的任意一条有向边满足 边起点的编号小于边终点的编号。每个点有点权,但其中有些点的点权未知。

你需要找到一种给未知点权值的方案,使得 所有 1n1\to n 的路径点权和的最大公因数最大,或者告知答案可以无限大。输出这个最大值。

n,m3×105n,m\le 3\times 10^5

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 2\leq\ N\leq\ 3\times\ 10^5
  • 1 M 3× 105 1\leq\ M\leq\ 3\times\ 10^5
  • 1 ai < bi  N 1\leq\ a_i\ <\ b_i\ \leq\ N
  • i j i\neq\ j ならば (ai,bi) (aj,bj) (a_i,b_i)\neq\ (a_j,b_j)
  • 与えられるグラフ G G において,頂点 1 1 から頂点 N N へのパスが存在する.
  • Ai = 1 A_i\ =\ -1 または 1 Ai 1012 1\leq\ A_i\leq\ 10^{12}

Sample Explanation 1

頂点 1 1 から頂点 N N へのパスは,(1,2,4) (1,2,4) , (1,3,4) (1,3,4) 2 2 個です. 例えば W = (5, 3, 7, 8) W\ =\ (5,\ 3,\ 7,\ 8) の美しさは 4 4 となります.実際,W1 + W2 + W4 = 16 W_1\ +\ W_2\ +\ W_4\ =\ 16 , W1 + W3 + W4 = 20 W_1\ +\ W_3\ +\ W_4\ =\ 20 はともに 4 4 の倍数です.

Sample Explanation 2

頂点 1 1 から頂点 N N へのパスは,(1,2,4) (1,2,4) , (1,3,4) (1,3,4) , (1,4) (1,4) 3 3 個です. 例えば W = (5, 3, 7, 8) W\ =\ (5,\ 3,\ 7,\ 8) の美しさは 1 1 となります.

Sample Explanation 3

例えば W = (3, 10100, 10100, 7) W\ =\ (3,\ 10^{100},\ 10^{100},\ 7) の美しさは 10100+10 10^{100}+10 となります.W W の美しさをいくらでも大きくできるため,その最大値は存在しません.