11以上の整数nnに対してMn=MMn1M^n = M・M^{n-1}です。従って以下のようなアルゴリズムで答えが求まります。

  1. 数列中の最小の値をMAiM^{A_i}とする。
  2. 数列中に存在するMAiの個数M\lfloor\frac{数列中に存在するM^{A_i}の個数}{M}\rfloor個のMAi+1M^{A_i+1}を数列に加える。
  3. 数列からMAiM^{A_i}をすべて削除する。
  4. 数列が空の場合、答えはAiA_iである。そうでない場合は1に戻る。

適切なデータ構造を用いることでO(NlogN)O(NlogN)などでこの問題を解くことができます。