#P16373. [2024年南京集训]跳棋1
[2024年南京集训]跳棋1
题目描述
一条无限长的数轴上有 颗不能移动的跳棋。
对于每次询问,你需要把一颗可以移动的跳棋放在给定位置,并求出它最多可以进行多少次跳跃。每次询问相互独立。
设第 颗不能移动的棋子的坐标为 ,其中 。
跳棋的移动规则如下:
- 执行移动的棋子必须是那颗允许移动的跳棋;
- 若可移动棋子当前位于 ,目标位置为 ,则区间 中必须恰好有一颗不能移动的棋子,并且这颗棋子到 、 的距离相等。
形式化地,必须满足
且存在某个 ,使得
- 跳棋只能向左跳,即必须满足 。
输入格式
第一行包含两个整数 ,分别表示不能移动的棋子数量和询问数量。
第二行包含 个整数,第 个整数为 。
第三行包含 个整数。每个整数 表示一次询问中可移动棋子的初始位置。
输出格式
输出 行,每行一个整数。第 行表示第 次询问的答案。
样例 1
输入
3 3
3 5 8
4 6 7
输出
1
2
0
样例解释

图中黑色方块表示不能移动的棋子,三个红色方框从左到右分别表示三个询问的初始位置。
- 对于第一个询问,可以跳 步:从 跳到 ;
- 对于第二个询问,可以跳 步:从 跳到 ,再跳到 ;
- 对于第三个询问,棋子不能向左移动,因为它左侧等距离的位置已经有一颗不能移动的棋子。
数据范围与提示
对于全部测试数据:
并且
子任务
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| 0 | 10 | |
| 1 | 30 | 满足限制 A |
| 2 | 25 | 满足限制 B |
| 3 | ||
| 4 | 10 | 无附加限制 |
-
限制 A:
-
限制 B: 不满足
的下标 不超过 个;其余下标对应的相邻差值之和不超过