#include #include using namespace std; using i64 = long long; class range {private: struct I{int x;int operator*(){return x;}bool operator!=(I& lhs){return x l(n); for(int i : range(n)) { scanf("%lld", &l[i]); } i64 k; scanf("%lld", &k); double lo = 0., hi = *max_element(l.begin(), l.end()); for(int times : range(300)) { double md = (lo + hi) / 2; i64 tmp = 0; for(int i : range(n)) { tmp += i64(l[i] / md); } if(tmp < k) { hi = md; } else { lo = md; } } printf("%lf\n", lo); return 0; }