AT_abc128_f.[ABC128F] Frog Jump

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个无限延伸的池塘,可以看作是一条数轴。在这个池塘上漂浮着 NN 朵莲花,分别位于坐标 0,1,2,,N2,N10, 1, 2, \ldots, N-2, N-1

你一开始站在坐标 00 的莲花上。你决定按照以下步骤进行游戏:

  1. 选择正整数 A,BA, B。初始得分为 00

  2. 设当前位置为 xx,则令 y=x+Ay = x + A。消除 xx 处的莲花,并移动到 yy

    • 如果 y=N1y = N-1,则游戏结束。
    • 否则,如果 yy 处有莲花,则得分增加 sys_y
    • 如果 yy 处没有莲花,则你会溺水,得分减少 1010010^{100},游戏结束。
  3. 设当前位置为 xx,则令 y=xBy = x - B。消除 xx 处的莲花,并移动到 yy

    • 如果 y=N1y = N-1,则游戏结束。
    • 否则,如果 yy 处有莲花,则得分增加 sys_y
    • 如果 yy 处没有莲花,则你会溺水,得分减少 1010010^{100},游戏结束。
  4. 返回步骤 2。

你希望最终得分尽可能大。请问最优选择 A,BA, B 时,最终得分最大是多少?

输入格式

输入通过标准输入给出,格式如下:

NN s0s_0 s1s_1 \ldots sN1s_{N-1}

输出格式

请输出最优选择 A,BA, B 时的最大最终得分。

输入输出样例

  • 输入#1

    5
    0 2 5 1 0

    输出#1

    3
  • 输入#2

    6
    0 10 -7 -4 -13 0

    输出#2

    0
  • 输入#3

    11
    0 -4 0 -99 31 14 -15 -39 43 18 0

    输出#3

    59

说明/提示

限制条件

  • 3N1053 \leq N \leq 10^5
  • 109si109-10^9 \leq s_i \leq 10^9
  • s0=sN1=0s_0 = s_{N-1} = 0
  • 所有输入均为整数。

样例解释 1

A=3,B=2A=3, B=2 时,游戏过程如下:

  • 移动到坐标 0+3=30+3=3,得分增加 s3=1s_3=1
  • 移动到坐标 32=13-2=1,得分增加 s1=2s_1=2
  • 移动到坐标 1+3=41+3=4,游戏以得分 33 结束。

无法通过其他方式获得得分 44 或更高,因此答案为 33。注意,不能在坐标 22 的莲花上停留而不溺水。

样例解释 2

此时最优策略是选择 A=5A=5BB 的值无所谓),直接跳到最后一朵莲花即可。

首页