Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:256 MB

#1395. 迷之阶梯

Statistics

题目背景

历经重重探险,吴思宇来到了魔法森林,想去找到篮球之神,然而事与愿违,面前出现了一段迷之阶梯。

题目描述

吴思宇 需要通过一段迷之阶梯。登上阶梯必须要按照它要求的方法,否则就无法登上阶梯。它要求的方法有以下三个限制:
如果下一步阶梯的高度只比当前阶梯高1,则可以直接登上。
除了第一步阶梯外,都可以从当前阶梯退到前一步阶梯。
当你连续退下 k 后,你可以一次跳上不超过当前 阶梯高度 2^k 的阶梯。
比如说你现在位于第 j步阶梯,并 且是从第j+k步阶梯退下来的。那么你可以跳到高度不 超过当前阶梯高度 + 2^k 的任何一步阶梯。
跳跃这一次只 算一次移动。
开始时吴思宇在第 1 步阶梯。
由于时间紧迫(急着~~,吴思宇需要计算 出登上迷之阶梯的最少移动次数。

输入格式:

第 1 行:一个整数 N,表示阶梯步数;
第 2 行:N 个整数(每两个之间有 1 个空格),依次为每层阶梯的高度,保证递增。

输出格式:

输出格式

1 行,一个整数,如果能登上阶梯,输出最小步数, 否则输出-1。

输入样例#1:

5
0 1 2 3 6

输出样例#1:

7

说明/提示

【样例解释】

连续登 3 步,再后退 3 步,然后直接跳上去。

【数据范围】

对于 50%的数据:1≤N≤20。

对于 100%的数据:1≤N≤200。

对于 100%的数据:每步阶梯高度不超过 2^31-1