#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