#include #include #include #include #include #include #define REP(i,s,e) for(int i = s; i < e; i++) #define PREP(i,s,e) for(int i = s; i >= e; i--) #define rep(i,n) REP(i,0,n) using namespace std; int N; int L[200000]; long long cut(float length){ long long ans=0; rep(i,N) ans += L[i]/length; return ans; } int main(){ cin >> N; int l[N]; int M=0; rep(i,N) cin >> L[i]; long long K; cin >> K; double high,low; low = 0.0; high = 1000000000; double middle; while(low + 1e-9 < high && low * (1 + 1e-9) < high){ //temp = cut(middle); long long temp = 0; middle = (low + high) / 2; rep(i,N) temp += L[i]/middle; if(temp < K) high = middle; else low = middle; } cout << fixed << setprecision(10) << middle <