#include #include #include #include #include #include #include #include #include using namespace std; long long cut(const vector &l, double L){ long long ret = 0; L = 1.0/L; for(int i=0; i &l, const long long &K){ double lb = 0; double ub = *max_element(l.begin(), l.end()); const double EPS = 1e-9; int count = 0; while(ub - lb> EPS && ub > lb*(1+EPS) ){ count++; if(count > 800) break; double med = (lb+ub)*0.5; long long tmp = cut(l, med); if( tmp < K ){ ub = med; }else{ lb = med; } } return ub; } int main(){ int n; cin >> n; vector l(n); for(int i=0; i> l[i]; long long k; cin >> k; printf("%.10f\n", bs(l,k)); return 0; }