#include <bits/stdc++.h>
#define nl '\n'
#define ll long long int
using namespace std;
//* Use this for USACO Problems
void setIO(string s)
{
freopen((s + ".in").c_str(), "r", stdin);
freopen((s + ".out").c_str(), "w", stdout);
}
int n, k;
vector<int> v;
bool test(double x)
{
int s = 0;
for (int e : v)
s += floor(e / x);
return s >= k;
}
int main()
{
// setIO("circlecross");
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t = 1;
// cin >> t;
while (t--)
{
cin >> n >> k;
v.resize(n);
for (int i = 0; i < n; i++)
{
cin >> v[i];
}
double l = 0;
double r = 1e8;
for (int i = 0; i < 64; i++)
{
double m = (l + r) / 2;
if (test(m))
{
l = m;
}
else
{
r = m;
}
}
cout << setprecision(20) << l << nl;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIG5sICdcbicKI2RlZmluZSBsbCBsb25nIGxvbmcgaW50Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8qIFVzZSB0aGlzIGZvciBVU0FDTyBQcm9ibGVtcwp2b2lkIHNldElPKHN0cmluZyBzKQp7CiAgICBmcmVvcGVuKChzICsgIi5pbiIpLmNfc3RyKCksICJyIiwgc3RkaW4pOwogICAgZnJlb3BlbigocyArICIub3V0IikuY19zdHIoKSwgInciLCBzdGRvdXQpOwp9CgppbnQgbiwgazsKdmVjdG9yPGludD4gdjsKCmJvb2wgdGVzdChkb3VibGUgeCkKewogICAgaW50IHMgPSAwOwogICAgZm9yIChpbnQgZSA6IHYpCiAgICAgICAgcyArPSBmbG9vcihlIC8geCk7CiAgICByZXR1cm4gcyA+PSBrOwp9CgppbnQgbWFpbigpCnsKICAgIC8vIHNldElPKCJjaXJjbGVjcm9zcyIpOwogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIGludCB0ID0gMTsKICAgIC8vIGNpbiA+PiB0OwoKICAgIHdoaWxlICh0LS0pCiAgICB7CiAgICAgICAgY2luID4+IG4gPj4gazsKICAgICAgICB2LnJlc2l6ZShuKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGNpbiA+PiB2W2ldOwogICAgICAgIH0KICAgICAgICBkb3VibGUgbCA9IDA7CiAgICAgICAgZG91YmxlIHIgPSAxZTg7CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNjQ7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGRvdWJsZSBtID0gKGwgKyByKSAvIDI7CiAgICAgICAgICAgIGlmICh0ZXN0KG0pKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBsID0gbTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHIgPSBtOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgc2V0cHJlY2lzaW9uKDIwKSA8PCBsIDw8IG5sOwogICAgfQp9Cg==