题意:x 轴正方向上有 n 个点(1≤n≤104),给出他们的坐标,你要选出 k (1≤k≤104)个相邻的点和一个 x 轴上的点使这 k 个点到这个坐标的距离和最小。求最小距离和。
输入两行,第一行是 n,k
第二行是 n 个数代表坐标,坐标≤1000
样例1
3 3
1 998 999
998
显然取998作为选出的x轴上的点。最小距离为(998-1)+(999-998)
样例2
4 2
1 3 7 20
2
选择1和3作为两个相邻的2个数,再选2作为x轴上的点最小距离为(2-1)+(3-2)
样例3
4 3
1 3 7 20
6
选择相邻的1、3、7以及x轴上的3,距离为(3-1)+(3-3)+(7-3)
我目前只想到 n(n−k)logn 的算法,即每次n(n-k)次枚举然后主席树求中位数,求更优的算法