#include using namespace std; template long double bisectionMethod(Function function, long double lower, long double upper) { for (int i = 0; i < 200; ++i) { long double middle = (lower + upper) / 2; (function(middle) <= 0 ? lower : upper) = middle; } return lower; } int main() { int n; cin >> n; vector l(n); for (int& i : l) cin >> i; long long k; cin >> k; auto f = [&](double x){ long long sum = 0; for (int& i : l) sum += floor(i / x); return sum - k + 0.5; }; cout << fixed << setprecision(15) << bisectionMethod(f, numeric_limits::max(), 0); }