Logo Universal Online Judge

UOJ

时间限制:3 s 空间限制:512 MB

#2584. 跳一跳

统计

【题目描述】
有一个环,环上均分着 n 个点,按顺时针标号为 1 ∼ n,每个人可以在环上的点上跳,在 i 号点 时,只能够往左或者往右跳 ai 步,其中 ai 只能是 1 或 2。
嘉然有 Q 个幻想,每个幻想的形式是,将向晚和贝拉分别扔到 x, y 点,想要进行一次跳跃,他 们只能同时往左或者往右跳,问最少一起跳几次可以让他们现在位置的 a 不一样?
作为嘉然的欧拉函数,你来帮帮她吧。
【输入格式】
从文件 jump.in 中读入数据。
第一行两个数 n, Q。第二行 n 个数,表示 a 序列。接下来 Q 行,每行两个数 x, y 表示一个幻想。
【输出格式】
输出到文件 jump.out 中。
输出 Q 行,输出最小步数,如果永远做不到,输出 −1。
【样例输入】

8 3
1 2 2 2 1 2 1 2
1 2
1 5
3 6
【样例输出】

0
-1
1
【数据范围与提示】
对于 20% 的数据满足 n, q ≤ 1000。
对于另 20% 的数据满足,ai = 1 的个数不超过 50 个。
对于另 20% 的数据满足,ai = 2 的个数不超过 50 个。
对于另 20% 的数据满足$ n, q ≤ 4 × 10^4。$
对于所有数据满足 $n, q ≤ 10^5 , x \neq y, 1 ≤ ai ≤ 2。$