有 n 个结点,每个结点有一个费用 wi。给定 m 条有向边。 现在要选若干个结点作为 “起火点”。规则如下: 1,如果一个结点被选为起火点,那么从它出发能回到它自己的所有结点(即与它属于同一个强连通分量的结点)都会被烧毁,费用只算该起火点的费用。 2,每个结点只需要被烧一次。 3,起火点可以从任意结点开始选,各次选择互不影响。 求烧毁所有结点的最小总费用,以及费用最小时的方案数。方案数对 10^9 + 7 取模。
第一行一个正整数 n(1 ≤ n ≤ 10^5)。 第二行 n 个正整数,表示每个节点的费用 wi(0 ≤ wi ≤ 10^9)。 第三行一个正整数 m(1 ≤ m ≤ 3 × 10^5)。 接下来 m 行,每行两个正整数 xi, yi,表示一条 xi → yi 的有向边。
一行两个整数,分别表示最小总费用和方案数。
3 1 2 3 3 1 2 2 3 3 2
3 1
3 10 20 10 4 1 2 1 3 3 1 2 1
10 2