#C09L06P03. C09.L06.状态拆分.练习1.攀登宝塔

C09.L06.状态拆分.练习1.攀登宝塔

题目描述

有一天,贝贝做了一个奇怪的梦,梦中他来到一处宝塔,他想要从塔的外面爬上去。这座宝塔的建造特别,塔总共有 n 层,但是每层的高度却不相同,这造成了贝贝爬过每层的时间也不同。

贝贝会用仙术,每用一次可以让他向上跳一层或两层,这时不会耗费时间,但是每次跳跃后贝贝都将用完灵力,必须爬过至少一层才能再次跳跃。

贝贝想用最短的时间爬到塔顶,可是他找不到时间最短的方案,所以请你帮他找一个时间最短的方案,让他爬到塔顶(可以超过塔高)。贝贝只关心时间,所以你只要告诉他最短时间是多少就可以了。

输入格式

第 1 行一个数 n (n≤10000),表示塔的层数。

接下来的 n 行每行一个不超过 100 的正整数,表示从下往上每层的所需的时间。

输出格式

一个数,表示最短时间。

样例

5
3
5
1
8
4
1

样例解释

最开始的时候,贝贝站在第 0 层,他先跳到了第 2 层,没有花时间。然后他从第 2 层爬到第 3 层,花了 1 个单位时间,然后从第 3 层跳到了第 5 层,没有花时间。总共花了 1 个单位时间就从第 0 层到达第 5 层。