#include #include #include #include int N; std::vector L; long K; long separate(double length){ int num = 0; for(int i=0; i> N; L.resize(N); for(int i=0; i> L[i]; std::cin >> K; double left = .0; double right = *(std::max_element(L.begin(), L.end())); double mid; while(left + 1e-10 < right){ mid = (left+right)*.5; if(separate(mid) >= K){ left = mid; }else{ right = mid; } } std::cout << std::fixed << std::setprecision(9) << left << std::endl; }