AT_arc144_e [ARC144E] GCD of Path Weights

题目描述

给定一个有 $N$ 个顶点、$M$ 条边的有向图 $G$。顶点编号为 $1, 2, \ldots, N$。第 $i$ 条边是从 $a_i$ 指向 $b_i$ 的有向边,且 $a_i < b_i$。 定义正整数序列 $W = (W_1, W_2, \ldots, W_N)$ 的**美丽度**为:满足下述条件的正整数 $x$ 的最大值。 - 对于 $G$ 中从顶点 $1$ 到顶点 $N$ 的任意一条路径 $(v_1, \ldots, v_k)$($v_1 = 1, v_k = N$),都有 $\sum_{i=1}^k W_{v_i}$ 是 $x$ 的倍数。 给定整数序列 $A = (A_1, A_2, \ldots, A_N)$。请你构造正整数序列 $W = (W_1, \ldots, W_N)$,使得 $A_i \neq -1$ 时 $W_i = A_i$,并求出所有可能的 $W$ 的美丽度的最大值。如果最大值不存在,则输出 `-1`。

输入格式

输入按以下格式从标准输入给出。 > $N$ $M$ > $a_1$ $b_1$ > $\vdots$ > $a_M$ $b_M$ > $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

输出正整数序列 $W$ 的美丽度可能取得的最大值。如果最大值不存在,则输出 `-1`。

说明/提示

## 限制条件 - $2 \leq N \leq 3 \times 10^5$ - $1 \leq M \leq 3 \times 10^5$ - $1 \leq a_i < b_i \leq N$ - 若 $i \neq j$,则 $(a_i, b_i) \neq (b_j, a_j)$ - 给定的图 $G$ 中,存在从顶点 $1$ 到顶点 $N$ 的路径。 - $A_i = -1$ 或 $1 \leq A_i \leq 10^{12}$ ## 样例解释 1 从顶点 $1$ 到顶点 $N$ 的路径有 $(1,2,4)$ 和 $(1,3,4)$ 共两条。例如 $W = (5, 3, 7, 8)$ 的美丽度为 $4$。实际上,$W_1 + W_2 + W_4 = 16$,$W_1 + W_3 + W_4 = 20$,两者都是 $4$ 的倍数。 ## 样例解释 2 从顶点 $1$ 到顶点 $N$ 的路径有 $(1,2,4)$、$(1,3,4)$、$(1,4)$ 共三条。例如 $W = (5, 3, 7, 8)$ 的美丽度为 $1$。 ## 样例解释 3 例如 $W = (3, 10^{100}, 10^{100}, 7)$ 的美丽度为 $10^{100} + 10$。因为 $W$ 的美丽度可以无限大,所以最大值不存在。 由 ChatGPT 4.1 翻译