/ SB域 / 题库 /

磁盘排程

磁盘排程

【题目描述】硬盘的”行程规划”是操作系统的重要组成部分。在访问硬盘式,系统必须事先规划好访问路径,以便访问硬盘的代价最小。
本题中,我们假设当前硬盘有100个扇区,编号为1-100。这个盘片是环形的,换句话说,扇区1和扇区100是相邻的。有些扇区是空的,其它的则有内容。假设我们需要访问所有非空扇区。假设当前磁头所在位置是k,磁头移动到相邻扇区的代价是1。要访问到所有非空扇区,最小代价是多少?
【输入文件】第一行两个整数n,k,表示非空扇区数以及磁头初始位置。
接下来有n个整数,表示非空扇区的编号。保证编号无重复。
【输出文件】一个整数,表示最小代价。
【输入样例】

4 5
6 8 65 71

【输出样例】

46

【样例说明】
最优路径是5->6->8->71->65。5->6->8的代价是3。8->71的代价是(8-1)+(100-71)+1=37。最后,71->65的代价是6。因此总费用是3+37+6=46。
【数据规模和约定】
1<=k<=100
1<=n<=50
保证k永远是空扇区。