#P1130. 使用最小花费爬楼梯

使用最小花费爬楼梯

题目描述

给你一个整数数组 a ,其中 a[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。

你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。

请你计算并返回达到楼梯顶部的最低花费。


输入格式

第一行一个正整数n(1≤n≤100),表示阶梯的个数;

后面是n个正整数ai(1≤ai≤100)。

输出格式

一个整数,代表最低花费。


输入/输出样例

10
1 100 1 1 1 100 1 1 100 1
6
3
10 15 20
15

解释样例

样例1:

输入:a= [10,15,20] 输出:15 解释:你将从下标为 1 的台阶开始。

  • 支付 15 ,向上爬两个台阶,到达楼梯顶部。 总花费为 15

样例2:

输入:a= [1,100,1,1,1,100,1,1,100,1] 输出:6 解释:你将从下标为 0 的台阶开始。

  • 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。
  • 支付 1 ,向上爬两个台阶,到达下标为 4 的台阶。
  • 支付 1 ,向上爬两个台阶,到达下标为 6 的台阶。
  • 支付 1 ,向上爬一个台阶,到达下标为 7 的台阶。
  • 支付 1 ,向上爬两个台阶,到达下标为 9 的台阶。
  • 支付 1 ,向上爬一个台阶,到达楼梯顶部。 总花费为 6 。

说明/提示

时间1000ms,内存256MiB