#include<iostream> #include<cmath> #include<stack> #include<algorithm> #include<cstring> #include<queue> using namespace std; const double eps = 1e-4; long long L[100005]; int n, m; bool fun(double len) { int sum = 0; for(int i = 0; i < n; i++) { sum += (int)(L[i] * 1.0 / len); if(sum >= m) { return true; } } return false; } bool cmp(long long a, long long b) { return a > b; } int main() { while(cin >> n >> m) { long long sum = 0; for(int i = 0; i < n; i++) { cin >> L[i]; sum += L[i]; } sort(L, L + n, cmp); double r = (double)sum / (m * 1.0); double l = 0; while(r - l >= eps) { double m = (l + r) / 2.0; if(fun(m)) { l = m; } else { r = m; } } printf("%.2lf\n", l); } }