#5085. 列表
列表
题目描述
有一个长度为 的整数列表 ,初始恰好为 的排列。有一个集合 初始为空。进行 次操作,第 次操作如下:
- 选择列表最中间位置的数(第 个数),从列表中删除该数字,并将该删除的数字加入集合 。
- 如果不是最后的第 次操作,则再任选列表中的一个数字删除。
操作结束后,列表为空,集合 包含了 个数字。
你需要求出集合 里面的单个连续数字段的最大可能值。一个连续数字段指集合 的一个子集,满足这个子集的数去重排序之后任意相邻两个数差全部都为 。(大小为 的子集也算连续数字段)
输入格式
输入文件名为 list.in
。
第一行一个非负整数 。
第二行 个整数,表示初始列表 。保证 到 的整数出现各一次。
输出格式
输出文件名为 list.out
。
一行一个非负整数表示连续数字段的最大可能值。
3
4 7 3 6 1 2 5
3
样例解释 1
- 开始列表为 , 加入 ,删去 ,结束后 。
- 列表为 , 加入 ,删去 ,结束后。
- 列表为 , 加入 ,删去 ,结束后 。
- 列表为 , 加入 ,结束后 。
7
1 15 2 14 3 13 4 12 5 11 6 10 7 9 8
8
1
1 2 3
2
数据范围与提示
对于 的数据,。保证列表中恰好出现 到 各一次。
- 子任务 ( 分):;
- 子任务 ( 分):;
- 子任务 ( 分):;
- 子任务 ( 分):列表初始顺序为从小到大;
- 子任务 ( 分):无特殊限制;
Related
In following contests: