问题 3305 --打扫卫生

3305: 打扫卫生

时间限制: 1 Sec  内存限制: 256 MB
提交: 3  解决: 1
[提交][状态][讨论版][命题人:]

题目描述

Alice 的房间可以简化为一条直线,上面一共有n堆垃圾,分别在位置x1,x2...,xn ,Alice 最初站在s位置 。 Alice 可以左右移动,当她当前的位置和第i个垃圾的位置 xi相同时她可以捡起这个垃圾。 Alice 想要清理至少m个垃圾,但是她比较懒,她想知道她的最小移动距离是多少。 

输入

第一行三个整数n,m,s。 

接下来一行n个整数x1,x2,....,xn 。

输出

一行一个整数表示 Alice 的最小移动距离。

样例输入

样例1
5 3 0
5 0 -5 -2 1
样例2
9 7 -1
453 -1232 32 -12 345 -9 2 0 11

样例输出

样例1
4
样例2
368

提示

样例一解释:清理位置在 -2,0,1的垃圾,最小移动距离是 4。
对于20% 的数据, n<=10。
对于另外20% 的数据,m=n 。
对于另外20% 的数据,m=n-1 。
对于另外20% 的数据,n<=10^3 。
对于全部数据1<=n<=10^6,0<=m<=n,-10^9<=s,xi<=10^9 。

来源

[提交][状态]