C. 镜像跳跃

    传统题 1000ms 512MiB

镜像跳跃

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

小唐人 在 OasisOasis 魔法学院 练习镜像跳跃。

小唐人 的镜像跳跃过程可以看成在一根无限长的数轴上面运动。

数轴上一共有 nn 个支点坐标:a1,a2,...,ana_1,a_2,...,a_n

假设小唐人 当前在坐标 xx, 每次小唐人 会选择一个任意的 ii,进行一次跳跃操作,该跳跃会以 aia_i 为对称中心做镜像跳跃。

镜像跳跃:从坐标 xxaia_i 为对称中心支点跳到 2aix2a_i - x。(注意 xx2aix2a_i-x 可以为负数)

小唐人 给出了 qq 个询问,每次询问想知道从坐标 sis_i 到坐标 tit_i 最少需要跳多少步。

若小唐人 无法到达,则输出 1-1

输入格式

第一行一个整数 nn,表示支点的个数。

接下来一行 nn 个整数,表示 a1,a2,,ana_1, a_2, \ldots, a_n,描述 nn 个支点的坐标。

接下来一行一个整数 qq,表示询问个数,

接下来 qq 行,每行两个整数 sis_itit_i,表示一个询问。

输出格式

qq 行,每行一个整数表示从坐标 sis_i 到坐标 tit_i 最少跳跃的步数,如果走不到则输出 1-1

样例

样例输入 #1

4
1 2 4 7
10
2 3
5 6
6 0
3 7
10 3
7 6
5 5
2 10
4 10
10 10

样例输出 #1

-1
-1
2
2
-1
-1
0
3
1
0

样例输入 #2

见考生文件夹中的下发大样例/jump/jump2.in

样例输出 #2

见考生文件夹中的下发大样例/jump/jump2.ans

样例输入 #3

见考生文件夹中的下发大样例/jump/jump3.in

样例输出 #3

见考生文件夹中的下发大样例/jump/jump3.ans

样例输入 #4

见考生文件夹中的下发大样例/jump/jump4.in

样例输出 #4

见考生文件夹中的下发大样例/jump/jump4.ans

样例解释

样例 #1 解释

ai\rightarrow_{a_i} 表示通过支点 aia_i

  • 第三组 si=6,ti=0s_i = 6,t_i = 0, 可能的一个最少步数为 642106 \rightarrow_4 2 \rightarrow_1 0
  • 第三组 si=3,ti=7s_i = 3,t_i = 7, 可能的一个最少步数为 321473 \rightarrow_2 1 \rightarrow_4 7
  • 第八组 si=2,ti=10s_i = 2,t_i = 10, 可能的一个最少步数为 $2 \rightarrow_7 12 \rightarrow_4 -8 \rightarrow_1 10$

样例 #2 解释

样例符合测试点 787\sim 8

样例 #3 解释

样例符合测试点 111411\sim 14

样例 #4 解释

样例符合测试点 171817\sim 18

数据范围

对于 100%100 \% 的数据,我们有 $1 \leq n \leq 500, 1 \leq q \leq 10^5, 0 \leq a_i,s_i,t_i \leq 10^4$。

测试点编号 nn qq ai,si,tia_i,s_i,t_i
141\sim 4 4\leq 4 10\leq 10 10\leq 10
565\sim 6 10\leq 10 100\leq 100
787 \sim 8 50\leq 50 104\leq 10^4
9109 \sim 10 2\leq 2 105\leq 10^5
111411 \sim 14 6\leq 6
151615 \sim 16 200\leq 200 100 \leq 100
171817\sim 18 104 \leq 10^4
192019 \sim 20 500\leq 500 105 \leq 10^5

5.4 卓越计划 模拟赛 && Oasis OI 5月月赛 (div 1 + div 2)

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-5-4 8:30
结束于
2025-5-6 8:30
持续时间
4 小时
主持人
参赛人数
28