数列AAAのうちMMMの倍数であるものの数をKKK個とします.
これらKKK個からなる部分列の公約数には,必ずMMMが含まれます.また,逆に,これらKKK個以外の要素を部分列に含めた場合,その公約数にはMMMは含まれません. よって,答えが存在する場合,求める答えは明らかにKKKです.MMMの倍数であるそれらKKK個のGCDがMMMにならない(MMMに222以上の整数をかけた値になる)場合,GCDをMMMにすることはできません.
O(N)\mathrm{O}(N)O(N)個の数の最大公約数を求めるため,計算量はO(NlogA)\mathrm{O}(N \log A)O(NlogA)となります.