#886. Doge摸大鱼

Doge摸大鱼

题目描述

Doge为了能够更好地摸大鱼,使用了高科技三岔鱼叉来进行快速批量捕鱼。这个鱼叉可以一次性捕捉3条鱼,捕捉范围变大的同时也带来了缺陷,如果河里有石头,那么鱼叉会损坏。所以在捕鱼的过程中必须避开石头。

Doge现在准备好了鱼叉,开着他的游艇到河上捕鱼,在船前进的路上会有许多鱼,每条鱼有它的重量,Doge想要尽量捕获总重量更多的鱼。在河里用数字0表示石头,其他数字表示鱼。

Doge小心翼翼地进行捕鱼,鱼叉在连续使用需要一定的时间进行准备,才能进行下一次的捕鱼。比如现在有1234567这七条鱼,那么你捕获123这三条鱼之后需要隔开4号鱼,才能进行下一次捕鱼,捕获567。同理如果时1230567(0表示石头),捕获123这三条鱼之后,下一个来的是石头,那么石头过去刚好准备好鱼叉继续捕获567。

输入格式

输入共两行

第一行1个正整数n,表示鱼和石头的总数量

第二行n个非负整数,以空格分隔,表示渔船前进时一路上的鱼和石头

输出格式

输出一个数字,表示捕鱼的总重量

输入样例1

7
1 2 3 4 5 6 7

输出样例1

24

输入样例2

8
1 2 3 4 5 6 7 8

输出样例2

30

提示

对于样例2

如果开局选择1 2 3这三条鱼,就会冷却4这条鱼,后续可选5 6 7或者6 7 8这两种叉法,显然后者更大,所以开局叉1 2 3的话最后总和最大是27。但是这不是最优解

选择2 3 4开局,冷却5,继续叉6 7 8得到总重是30,为最优解。后续其他开局方式均不能叉两次,数量会少很多,此处不列举。

数据范围

鱼的数量不小于3,不大于100000

每条鱼的重量不大于1000