#include using namespace std; /////////////////// メイン /////////////////// int main () { //////////////////// 入力 //////////////////// int n; cin >> n; vector a(n); for (int i=0; i> a.at(i); } long long k; cin >> k; //////////////// 出力変数定義 //////////////// double result = 0; //////////////////// 処理 //////////////////// double inside = 0.0; // 条件を満たす初期値を入れる double outside = 1e9; // 条件を満たさない初期値を入れる while (abs(inside-outside)>outside*1e-12) { double mid = (inside+outside)/2; long long counter = 0; for (int num : a) { counter += static_cast(num/mid); } if (counter>=k) { inside = mid; } else { outside = mid; } } result = inside; //////////////////// 出力 //////////////////// cout << fixed << setprecision(12); cout << result << endl; //////////////////// 終了 //////////////////// return 0; }