AT_cpsco2019_s1_g Game with Division
Description
[problemUrl]: https://atcoder.jp/contests/cpsco2019-s1/tasks/cpsco2019_s1_g
やむなく君は $ 1 $ 枚の紙と長さ $ N $ の整数列 $ A_1,\ A_2,\ \ldots,\ A_N $ を使った次のようなゲームを考えました。
まず紙に好きな正の整数を $ 1 $ つ書きます。その後 $ N $ 回の操作をします。 $ i $ 回目 $ (1\le\ i\le\ N) $ の操作では以下のどちらか $ 1 $ つを行います。
- その時点で紙に書かれている数字を $ X $ として、$ Y\ =\ \left\ \lfloor\frac{A_i}{X}\right\ \rfloor $ とする ($ \lfloor\ x\ \rfloor $ で $ x $ の整数部分を表します)。紙に書かれている数字を $ Y $ に書き換えて、$ Y $ 点を獲得する。 なおこの操作は $ X\ >\ A_i $ のときには行うことができない。
- 何もしない。得点も獲得できない。
やむなく君は $ N $ 回の操作で獲得する点数の合計を最大化したいです。
やむなく君が最初に紙に書く数字と $ N $ 回の操作を最適に行ったときに獲得できる点数を求めてください。
Input Format
入力は以下の形式で標準入力から与えられます。
> $ N $ $ A_1\ A_2\ \ldots\ A_N $
Output Format
やむなく君の獲得できる点数の最大値を $ 1 $ 行に出力してください。
Explanation/Hint
### 制約
- $ 1\le\ N\le\ 1000 $
- $ 1\le\ A_i\le\ 10^6 $
- 入力はすべて整数
### 部分点
この問題には部分点が設定されています。
- すべての $ i\ (1\le\ i\le\ N) $ について $ A_i\le\ 1000 $ を満たす入力に正解すると、$ 300 $ 点が与えられます。
### Sample Explanation 1
\- まず紙に $ 2 $ と書く。 - $ 1 $ 回目の操作では紙の数字を $ \left\ \lfloor\frac{3}{2}\right\ \rfloor\ =\ 1 $ に書き換えて $ 1 $ 点を獲得する。 - $ 2 $ 回目の操作では何もしない。 - $ 3 $ 回目の操作では紙の数字を $ \left\ \lfloor\frac{9}{1}\right\ \rfloor\ =\ 9 $ に書き換えて $ 9 $ 点を獲得する。 このとき合計 $ 10 $ 点を獲得できて、これが最大です。なお、$ 10 $ 点を獲得する方法は他にもあります。