int n, m; cin >> n >> m; double l = 99999999, r = 0; vector<double> all(n); for (int i = 0; i < n; i++) { cin >> all[i]; l = min(l, all[i]); r = max(r, all[i]); } l--, r++; double mid; double res = -1; while (r - l > 1e-3) { mid = (l + r) / 2; int cont = 0; for (int i = 0; i < n; i++) cont += all[i] / mid; if (cont >= m) { l = mid; res = mid; } else r = mid; } cout << fixed << setprecision(2) << res << endl;