#cpsco2019s1g. [cpsco2019_s1_g]Game with Division
[cpsco2019_s1_g]Game with Division
问题描述
你不得不使用一张纸和长度为N的整数序列A_1, A_2, ..., A_N来考虑以下游戏。
首先,在纸上写下一个任意的正整数。然后进行N次操作。在第i次操作(1<=i<=N)中,你可以执行以下两种操作之一:
- 将纸上当前的数字记为X,并令Y = ⌊A_i / X⌋ (其中⌊x⌋表示x的整数部分)。将Y写入纸上并获得Y分。注意,当X > A_i时,不能进行此操作。
- 什么也不做,无法获得分数。
你想要通过N次操作获得的总分数最大化。
请计算当你以最佳方式选择纸上的初始数字和进行N次操作时可以获得的最大分数。
约束条件
- 1 <= N <= 1000
- 1 <= A_i <= 10^6
- 输入都为整数
部分得分
本题设有部分得分。
- 当对于所有的i (1<=i<=N),满足A_i<=1000的输入能给出正确答案时,将获得300分。
输入
从标准输入读入输入数据。
N
A_1 A_2 ... A_N
输出
请在一行中输出你可以获得的最大分数。
输入示例1
3
3 6 9
输出示例1
10
- 首先,在纸上写下2。
- 在第1次操作中,将纸上的数字替换为⌊3/2⌋=1,并获得1分。
- 在第2次操作中,什么都不做。
- 在第3次操作中,将纸上的数字替换为⌊9/1⌋=9,并获得9分。
在此情况下,总共能获得10分,这是最大的。同时注意到,还有其他获得10分的方式。
输入示例2
3
10 3 4
输出示例2
10
输入示例3
1
1000
输出示例3
1000
输入示例4
10
87 72 55 81 12 59 1 10 18 53
输出示例4
166