2779: PTK12 丛林寻宝

Memory Limit:256 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

“丛林寻宝”是一个小游戏,你控制着一个不停奔跑的小人,奔跑方向向右。 从一层平台到二层平台,要登上n级台阶。每级台阶上都有一颗有价值的宝石。小人跳到某个台阶上,便可获得该台阶上的宝石。 下图是游戏的屏幕截图。 游戏中的跑道可以看做一个个小格,每级台阶长度是1格(如下图所示)。登台阶时,“跳跃”是你唯一的操作方式。你可以选择从任意位置起跳。每按一下“跳跃”键,小人向前跳3格(水平距离)。 已知每级台阶上宝石的价值,请计算你能获得宝石的价值之和最大是多少。 例如: 10级台阶,每级台阶上宝石的价值是1,2,1,2,5,1,4,2,5,1。你有3种登台阶的方法(如下图所示),最优的方法是先跳到第二级台阶上,然后每步向前跳3格,能获得的宝石价值之和是9(2+5+2=9)。 ![](https://s1.ax1x.com/2023/09/05/pPrw43D.png) ![](https://s1.ax1x.com/2023/09/05/pPrw5ge.png) ![](https://s1.ax1x.com/2023/09/05/pPrwIjH.png)

Input

第一行一个正整数,为台阶的数量n(2<=n<=30); 第二行,按字符串形式输入n个正整数(大小在1~10范围内),相邻两个正整数用一个空格分隔,依次表示从下到上,每级台阶宝石的价值。

Output

一个正整数,表示你能获得的宝石价值之和的最大值。

Sample Input Copy

10
1 2 1 2 5 1 4 2 5 1

Sample Output Copy

9

HINT

[md] s = input() #输入一个字符串,赋值给s a = s.split(' ') #将字符串s按空格拆分,保存到列表a中 lis = [int(i) for i in a] #将列表a的元素转换成整数,保存到列表lis中 [/md]