清楚姐姐跳格子
题号:NC276689
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

\,\,\,\,\,\,\,\,\,\,老妪遂递一羊皮卷轴,上面什么都没有,清楚欲问,老妪却缄口不言。
\,\,\,\,\,\,\,\,\,\,清楚性格刚直,放下鼠资,正欲再问,忽觉眼前一花,老妪和店铺却都消失不见,唯卷轴与竹鼠。
\,\,\,\,\,\,\,\,\,\,“怪哉”,清楚回头走,见到地上有一些格子。
\,\,\,\,\,\,\,\,\,\,清楚正在玩跳格子游戏。地上有 n 个格子,清楚一开始在 1 号格子,目标是 n 号格子。
\,\,\,\,\,\,\,\,\,\,i 个格子上有一个数字 a_i ,清楚在这个格子上可以往左右两边选一个方向,然后选择 a_i 的一个正整数因子作为长度,进行一次跳跃,但是不可以跳出边界。
\,\,\,\,\,\,\,\,\,\,请问清楚最少跳多少步,就可以到达 n 号格子。

输入描述:

\,\,\,\,\,\,\,\,\,\,第一行输入一个整数 n\ (\ 1 \leq n \leq 10^3\ ) 代表格子数量。
\,\,\,\,\,\,\,\,\,\,第二行输入 n 个整数 a_1,a_2,\dots,a_n\ (\ 1 \leq a_i \leq 10^{18}\ ) 代表格子上的数字。

输出描述:

\,\,\,\,\,\,\,\,\,\,在一行上输出一个整数,代表到达终点需要的最少步数 。
示例1

输入

复制
5
2 3 1 5 4

输出

复制
2

说明

\,\,\,\,\,\,\,\,\,\,1 号节点 ,选择 a_1 的因子 1 ,往右跳 1 步,到达 2 号节点。
\,\,\,\,\,\,\,\,\,\,2 号节点 ,选择 a_2 的因子 3 ,往右跳 3 步,到达 5 号节点。