Chokudai SpeedRun 002 J問題:GCD β

問題. GCD β

自然数のペアが  N 個与えられる. i 番目のペアは  (A_i, B_i) である.各ペアからちょうど1つの自然数を選んでそれらの最大公約数をとる.このときの考えられる最大公約数の最大値を求めよ.

制約 1 \le N \le 5 \times 10^4,  1 \le A_i, B_i, \le 10^9

解法

最大公約数は素因数分解をしたときの各素数の指数の最小値の積となる(cf. 最大公約数 - Wikipedia).したがって, A_1 を選んだ時は2番目以降のペアのどんな選び方に対しても得られる最大公約数の最大値は  A_1 のある約数となる.同様に  B_1 を選んだときの得られる最大公約数の最大値は  B_1 のある約数となる.したがって, A_1 または  B_1 の約数  g に対して,任意の  i \,(2 \le i \le N) A_i または  B_i g で割り切れるかを判定して,割り切れるよな約数の最大値が答えとなる.

計算時間 O(C N) (ただし, C A_1 B_1 の約数の個数の最大値; C \le 2,000

全然分からないで悩んでいた.解法が思いついた後は,何で思いつかないんだ!自明だ!!という気分になるのよくない.