#D0938. 棋子旅行
棋子旅行
题目描述
一排格子的编号从 到 ,其中 个格子上已经放着棋子,位置互不相同。现在会在一个空格子再放一枚新棋子,之后只移动这枚新棋子。
一次移动的规则如下:设新棋子当前在格子 ,另有一颗不动的棋子在格子 ,令 。如果 在 内、 上没有棋子,并且 与 之间(不含 )没有其他棋子,就可以把新棋子从 移到 。也就是说,新棋子以 为支点,对称地跳到另一侧的空格上。
新棋子的位置始终在空格上。可以任意选择一个空格子放新棋子,最终停在某个格子上。请输出它能得到的最大移动距离,也就是起止格子编号之差的绝对值。
输入格式
第一行两个整数 。
第二行 个整数 ,表示已有棋子的位置,保证互不相同。
输出格式
输出一个整数,表示最大移动距离。
样例
7 2
3 5
4
4 1
2
2
8 2
4 5
0
样例解释
样例 1 中,把新棋子放在第 2 格,先以第 3 格的棋子为支点跳到第 4 格,再以第 5 格的棋子为支点跳到第 6 格,起止距离为 。
样例 2 中,把新棋子放在第 4 格,以第 2 格为支点跳到第 0 格不行;放在第 1 格可跳到第 3 格,距离为 。
样例 3 中两颗棋子相邻,任何跳跃都会被挡住,最大距离为 。
数据范围与约定
| 子任务 | 分值 | 限制 |
|---|---|---|
| , | ||
对于 的数据,,。