atcoder#AGC020B. [AGC020B] Ice Rink Game

[AGC020B] Ice Rink Game

配点 : 500500

問題文

スケートリンクで、一人の大人の司会と NN 人の子供がゲームを行います。 ゲームは KK ラウンドからなり、ラウンド ii では司会が次のように言います。

  • AiA_i 人組を作って!

すると、まだ脱落していない子供たちは AiA_i 人からなるグループをできるだけ多く組みます。 一人につき一つのグループにしか入れません。 グループに入れなかった子供たちは脱落し、その他は次のラウンドに進みます。 ラウンドで誰も脱落しないこともありえます。

最後まで、つまりラウンド KK のあとまで残ったのは 22 人で、彼らが勝者となりました。

あなたは A1A_1, A2A_2, ..., AKA_K の値を聞き、NN の値は知りませんが、推定してみたくなりました。

ゲームの開始前にいた子供たちの人数として考えられる最小の値と、最大の値を求めてください。もしくは、考えられる NN の値は存在しないと判定してください。

制約

  • 1K1051 \leq K \leq 10^5
  • 2Ai1092 \leq A_i \leq 10^9
  • 入力値はすべて整数である。

入力

入力は標準入力から以下の形式で与えられる。

KK

A1A_1 A2A_2 ...... AKA_K

Output

考えられる最小の NN の値と最大の NN の値をそれぞれ表す二つの整数を出力せよ。ただし、問題文で述べた状況が発生しえない場合は、整数 1-1 を単独で出力せよ。

4
3 4 3 2
6 8

例えば、ゲームの開始時に子供が 66 人いた場合、以下のように進行します。

  • ラウンド 11 では、66 人の子供たちが 33 人組を 22 つ作り、誰も脱落しません。
  • ラウンド 22 では、66 人の子供たちが 44 人組を 11 つ作り、22 人が脱落します。
  • ラウンド 33 では、44 人の子供たちが 33 人組を 11 つ作り、11 人が脱落します。
  • ラウンド 44 では、33 人の子供たちが 22 人組を 11 つ作り、11 人が脱落します。

最後まで残った二人が勝者となります。

5
3 4 100 3 2
-1

このような状況はありえません。 特に、ゲームの開始時の子供たちの人数が 100100 人未満の場合は、ラウンド 33 で全員が脱落します。

10
2 2 2 2 2 2 2 2 2 2
2 3