No.023 D 問題 コード 数列の区間 の最大公約数は区間 の最大公約数と同じか小さく, 小さい場合は より小さくなる. すなわち, を固定したときの最大公約数の種類は, であるので高々 個である. よって, すべての最大公約数の個数も 個程度に収まる. 最初にすべての最大公約数を計算して区間数を連想配列に入れるようにする. を固定して区間 で最大公約数が となる区間の数を とすると, で更新していける. 最後にすべての について を合成すれば連想配列の完成である.