#include<bits/stdc++.h>
using namespace std;
const int N =1e6+10;
double a[N];
double n,m;
bool check(double k)
{
double sum=0.0;
for(int i=1;i<=n;i++)
{
if(a[i]>=k)
sum+=a[i]/k;
}
if(sum>=m)
return true;
else
return false;
}
double find()
{
double l=1.0,r=100000.0;
while(l+1.0<r)
{
double mid=(l+r)/2.0;
if(check(mid))
l=mid;
else
r=mid;
}
return l;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
cout<<fixed<<setprecision(2)<<find()<<endl;
}
二分答案好像不太行?