241487 - 跳石头

题目描述

有一条河上铺着 n 块石头,编号从 1 到 n。你一开始站在第 1 块石头上。每块石头 i 上都有一个正整数 a[i],表示你从这块石头最多可以跳到第 a[i] 块石头,题目保证在 i < j 时必有 a[i] <= a[j] 。

总共有 T 组查询,对于每组查询,你的目标是从第 L 块石头跳到第 R 块石头。请问最少需要多少步能到达第 R 块石头。如果无法到达,输出 -1。

输入

第一行一个整数 n,表示石头的数量 (1 ≤ n ≤ 10^5)。

第二行 n 个整数 a[1], a[2], …, a[n],表示每块石头的最大跳跃长度 (1 ≤ a[i] ≤ 10^5)。

第三行一个整数 T,表示接下来查询操作的组数(1 ≤ T ≤ 10^6)

接下来 T 行,每行两个整数 L,R 表示起点和终点的石头位置(1 ≤ L ≤ R ≤ 10^5)。

输出

总共 T 行,每行一个整数,表示最少跳跃次数;如果无法到达终点,输出 -1。

样例

输入

5
2 4 4 5 7
1
1 5

输出

3

输入

5
1 1 1 1 1
1
1 5

输出

-1
说明

对于所有数据,保证:

1 ≤ n ≤ 10^5

1 ≤ a[i] ≤ 10^5

1 ≤ T ≤ 10^6

1 ≤ L < R ≤ 10^5

在 i < j 时,必有 a[i] <= a[j]

题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 36
通过人数 17
金币数量 3 枚
难度 基础


上一题 下一题