問題
提出コード
の公約数を
とします。
このとき、は
で割り切れるので、
も
で割り切ることができます。
ということで、まず解の候補がの約数であることがわかります。これは、
までを全探索して、それを
で割ったときのあまりが0かどうかで判断すればよいです。
が
の約数のとき、
も
の約数であることに気を付ければ、約数を探索するのは
になります。
次に、が問題の条件を満たすかどうかについて考えると、
すくなくとも個の要素すべてが
の倍数でなくてはなりません。このとき必要な最小値は、
がすべて
であった場合ですので、
である必要があります。
しかし、はかならず
の倍数になっているため、残った数はどこか1つの要素にすべて放り込んでしまえばいいので、
が成り立っていればよいことがわかります。
ということで、
は
の約数、かつ
がなりたつ
のうち最大のものを、
の全探索によって求めれば、それが答えになります。