#P1181. 爬台阶升级版

爬台阶升级版

题目描述

给定一个长度为 n+1n+1的数组 costcost,数组元素的编号为 0n0 \sim n ,其中 cost[i]cost[i] 是从楼梯上编号为 ii 的台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。

请找出达到楼层顶部的最低花费 (是要到达楼层顶部哦,不是第 nn级台阶)。在开始时,你可以选择从编号为 0011 的台阶作为出发的起点。

输入格式

第一行输入一个整数 nn

第二行输入 n+1n+1 个整数

输出格式

输出一个整数代表最低花费

样例

2
10 15 20
15
9
1 100 1 1 1 100 1 1 100 1
6

样例解释

样例 11 从台阶 11 开始,向上走两级台阶即可到达顶部,花费为 1515

样例 22 从台阶 00 开始,一次经过台阶 22, 44, 66, 77, 99然后即可到达顶部,花费为 66,具体解释如下:

台阶0台阶2   花费1台阶0 \to 台阶2 \ \ \ 花费 1 台阶2台阶4   花费1台阶2 \to 台阶4 \ \ \ 花费 1 台阶4台阶6   花费1台阶4 \to 台阶6 \ \ \ 花费 1 台阶6台阶7   花费1台阶6 \to 台阶7 \ \ \ 花费 1 台阶7台阶9   花费1台阶7 \to 台阶9 \ \ \ 花费 1 台阶9顶部   花费1台阶9 \to 顶部 \ \ \ 花费 1

数据范围

对于 100%100\% 的数据,1n1031 \leq n \leq 10^3 , 0costi1040 \leq cost_{i} \leq 10^4