#include <algorithm>
using namespace std;
const int N = 1e5 + 10;
double a[N];
int n, k;
int main()
{
cin >> n >> k;
double l = 0, r = 0;
for (int i = 0; i < n; i ++){
cin >> a[i];
r = max(r, a[i]);
}
// for (int i = 0; i < 100; i ++){
while (r - l >= 1e-5){
int cnt = 0;
double mid = (l + r) / 2;
for (int i = 0; i < n; i ++)
cnt += int(a[i] / mid);
// 错误,为啥呢?
// if (cnt <= k) r = mid;
// else l = mid;
if (cnt >= k) l = mid;
else r = mid;
}
printf("%.2lf", int(r * 100) / 100.0);
return 0;
}