数组平均
题号:NC261663
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

游游拿到了一个大小为n的数组,数组第i个数为a_i
游游会选择一些元素,使得这些元素都等于它们的平均数。
例如,假设数组为 [5 , 4 , 2 , 4],游游选择第一个和第三个元素,最终数组将变成 [3.5 , 4 , 3.5 ,4]
游游最多可以选择k个元素,她希望最终数组最大值和最小值的差尽可能小。你能帮她求出这个差吗?

输入描述:

第一行输入两个正整数nk,用空格隔开。分别代表数组大小、以及游游最多可以选择的元素数量。
第二行输入n个正整数a_i,代表每个数组的元素。
1\leq n,a_i \leq 200000
1\leq k \leq n

输出描述:

一个浮点数,代表最终数组的最大值和最小值的差
如果你的答案和正确答案的相对误差不超过10^{-6},则认为答案正确。
示例1

输入

复制
4 2
5 4 2 4

输出

复制
0.5
示例2

输入

复制
4 4
5 4 2 4

输出

复制
0