#P1028. 青蛙跳石头

青蛙跳石头

题目描述

有 nn 个位置排成一行,编号为 11 到 nn。一只青蛙一开始站在第 11 个位置,它想到达第 nn 个位置。

青蛙每次可以选择跳 11 格或跳 22 格,也就是可以从位置 ii 跳到位置 i+1i+1 或位置 i+2i+2。如果目标位置超过 nn,则不允许这样跳。

每个位置 ii 都有一个代价 costicost_i。青蛙到达并停留在某个位置时,需要支付该位置的代价。第 11 个位置作为起点需要支付代价,第 nn 个位置作为终点也需要支付代价。

求青蛙从第 11 个位置到达第 nn 个位置所需支付的最小总代价。

输入格式

第一行包含一个整数 nn,表示位置数量。

第二行包含 nn 个整数 cost1,cost2,⋯ ,costncost_1, cost_2, \cdots, cost_n,表示每个位置的代价,相邻整数之间用一个空格分隔。

输出格式

输出一行一个整数,表示到达第 nn 个位置的最小总代价。

样例

5
1 3 2 4 5
8

样例说明

一种最优跳法是:

1→3→51 \rightarrow 3 \rightarrow 5

支付代价为:

cost1+cost3+cost5=1+2+5=8cost_1 + cost_3 + cost_5 = 1 + 2 + 5 = 8

因此最小总代价为 88。

数据范围与提示

对于 30%30\% 的数据,n≤1000n \le 1000。

对于 100%100\% 的数据:

  • 1≤n≤1051 \le n \le 10^5
  • 0≤costi≤1090 \le cost_i \le 10^9
  • 答案可能较大,建议使用 64 位整数。
  • 当 n=1n=1 时,青蛙已经在终点,只需支付 cost1cost_1。