1.1.2 幽灵粒子

【上机练习】幽灵粒子(ghost)

有一条从上到下垂直于地面的线段,长为L,可用坐标从上向下标记为1,2,…,L,无数的“幽灵粒子”在该线段上的初始坐标均为整数且各不相同。“幽灵粒子”的初始移动方向只有两个,即向上移动或者向下移动,“幽灵粒子”在任何时候的移动速度均为1。 

多个“幽灵粒子”同向移动时,坐标可以重叠(要不怎么叫“幽灵粒子”呢?),但异向面对面碰到时,两个“幽灵粒子”均会改变方向反向移动,改变方向不需要时间。

当“幽灵粒子”移到坐标0或L+1的位置时就会消失,求所有“幽灵粒子”消失所需要的最短时间和最长时间。

【输入格式】

第1行为一个整数N(1N5000),表示“幽灵粒子”的数量。

第2行为一个整数LNL10000),表示线段的长度。

第3行为N个整数,表示“幽灵粒子”的初始坐标。

【输出格式】

两个整数,表示“幽灵粒子”消失所需要的最短时间和最长时间。

【输入样例】

3

5

1 2 3

【输出样例】

3 5