#include <bits/stdc++.h>
using namespace std;
signed main(){
int n, k;
cin >> n >> k;
vector<int> a(n);
for(int i = 0; i < n; i++){
cin >> a[i];
}
double l = 1, r = 1e7;
double ans = 0;
for(int i = 0; i < 60; i++){
double mid = (l + r) * 0.5;
int now = 0;
for(int j = 0; j < a.size(); j++){
if((int)a[j] / mid < 1){
now = 0;
break;
}
now += a[j] / mid;
}
if(now >= k){
l = mid;
ans = max(ans, mid);
}else{
r = mid;
}
}
cout << fixed << setprecision(15) << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnNpZ25lZCBtYWluKCl7CglpbnQgbiwgazsKCWNpbiA+PiBuID4+IGs7Cgl2ZWN0b3I8aW50PiBhKG4pOwoJZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CgkJY2luID4+IGFbaV07Cgl9Cglkb3VibGUgbCA9IDEsIHIgPSAxZTc7Cglkb3VibGUgYW5zID0gMDsKCWZvcihpbnQgaSA9IDA7IGkgPCA2MDsgaSsrKXsKCQlkb3VibGUgbWlkID0gKGwgKyByKSAqIDAuNTsKCQlpbnQgbm93ID0gMDsgCgkJZm9yKGludCBqID0gMDsgaiA8IGEuc2l6ZSgpOyBqKyspewoJCQlpZigoaW50KWFbal0gLyBtaWQgPCAxKXsKCQkJCW5vdyA9IDA7CgkJCQlicmVhazsKCQkJfSAKCQkJbm93ICs9IGFbal0gLyBtaWQ7IAoJCQkKCQl9CQkKCQlpZihub3cgPj0gayl7CgkJCWwgPSBtaWQ7CgkJCWFucyA9IG1heChhbnMsIG1pZCk7CgkJfWVsc2V7CgkJCXIgPSBtaWQ7CgkJfQoJCQoJfQoJY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oMTUpIDw8IGFuczsKfQ==