题目描述
巡逻道沿线立着 个候选哨位,第 个候选哨位位于坐标 ,坐标按升序给出且互不相同。要从中选出恰好 个哨位安排岗哨,希望相邻被选哨位的间距最小值尽可能大,该最小间距的最大值记为 。
名单按如下规则唯一确定:从最左边的候选开始从左往右扫描,设上一个已选坐标为 (初始为第一个候选坐标),遇到第一个与 间距不小于 的候选就选入名单,选满 个即停止。在 下按该规则能选出的哨位不少于 个。
输出两行:第一行为 ;第二行为按上述规则选出的 个坐标,升序输出。
输入格式
第一行两个整数 。
第二行 个升序整数 。
输出格式
第一行一个整数 ,即最大化的相邻被选哨位最小间距。
第二行 个升序整数,为名单上的坐标,以空格分隔。
样例
输入
5 3 1 3 4 7 9
输出
3 1 4 7
样例解释
试 :从 出发,第一个与 间距不小于 的是 ,再往后是 ,选满 个,可行。试 : 与 间距为 跳过,选 ,再往后 与 间距为 跳过,只能选出 个,不足 个,不可行。故 。注意选 的最小间距也是 ,但按从左往右能选就选的规则,名单唯一为 。
数据范围
- ;
- 。