Problem1584--磁盘调度之扫描算法

1584: 磁盘调度之扫描算法

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 7  Solved: 2
[Submit] [Status] [Web Board] [Creator:]

Description

对于扫描算法(SCAN),磁臂从磁盘的一端开始,向另一端移动;在移过每个柱面时,处理请求。
当到达磁盘的另一端时,磁头移动方向反转,并继续处理。
现在假定某磁盘共有N个柱面,编号为 0~N-1,磁头初始位置为m,按到来顺序给定n个所请求的柱面。
请按顺序给出访问的柱面序号,并且求出磁头移动的总距离。
磁头初始时会向柱面号增大的方向移动。

Input

多组输入。
第一行输入三个整数N(1<N<=1000),m(0<=m<N),n(1<=n<N),分别代表柱面总数,磁头初始位置和请求服务数。
第二行输入n个整数,代表服务请求的柱面号。

Output

对于每组输入,按顺序给出访问的柱面序号,并且求出磁头移动的总距离。

Sample Input

10 4 3
1 5 8

Sample Output

5 8 1
13

Source/Category