AT_nyc2015_4 ジャンプ

题目描述

在一条无限长的一维直线上,Snuke君站立在某一点。他有 $N$ 种跳跃方式。这些跳跃方式是对称跳跃:对于第 $i$ 种跳跃方式,假设当前所在位置为 $x$,那么他可以跳到对称位置 $2a_i - x$。 请根据以下输入格式来解答问题: - 输入有多行。 - 第一行有一个整数 $N$,表示跳跃方式的数量。 - 接着的 $N$ 行,每行一个整数 $a_i$,表示第 $i$ 种跳跃的目标位置。 - 然后给出一个整数 $Q$,表示有 $Q$ 个查询。 - 随后的 $Q$ 行,每行两个整数 $s_i$ 和 $t_i$,表示第 $i$ 个查询的起始位置和目标位置。 对于每个查询,输出一行,求出从 $s_i$ 跳到 $t_i$ 所需的最小跳跃次数。如果无法通过所给的跳跃方式到达目标位置,请输出 `-1`。 ### 输入格式 - 第一行:一个整数 $N$。 - 接下来的 $N$ 行:每行一个整数 $a_i$。 - 然后是一个整数 $Q$。 - 随后的 $Q$ 行:每行两个整数 $s_i$ 和 $t_i$。 ### 输出格式 对于每个查询,输出一行,表示最小跳跃次数。如果无法到达,则输出 `-1`。 ### 数据范围与提示 - $1 \leq N \leq 200$ - $0 \leq a_1, a_2, \ldots, a_N$ - $1 \leq Q \leq 100000$ - $0 \leq s_i, t_i \leq 10000$ 总之,你需要计算在给定不同跳跃方式的情况下,从起点到达终点的最小跳跃次数。无法到达的话输出 `-1`。 **本翻译由 AI 自动生成**

输入格式

输出格式

说明/提示

### Constraints すぬけ君が、一次元の無限に長い道路の上に立っている。すぬけ君は、$ N $ 種類のジャンプをすることができる。$ i $ 番目のジャンプでは、$ a_i $ に対して対称な位置にジャンプできる (場所 $ x $ にいるとき、場所 $ 2a_i\ -\ x $ に移動する)。 $ Q $ 種類のクエリに答えよ。$ i $ 番目のクエリでは、$ s_i $ から $ t_i $ に行くのに最小何回ジャンプすればよいか求めよ。ただしジャンプだけで到達できない場合には、代わりに `-1` と出力せよ。 - - - - - - - $ 1\ \leq\ N\ \leq\ 200 $ - $ 0\ \leq\ a_1 $ - $ 1\ \leq\ Q\ \leq\ 100000 $ - $ 0\ \leq\ s_i,\ t_i\ \leq\ 10000 $