/* -*- coding: utf-8 -*- * * 67.cc: No.67 よくある棒を切る問題 (1) - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_N = 200000; /* typedef */ typedef long long ll; /* global variables */ int n; double ls[MAX_N]; ll k; /* subroutines */ ll cut(double l) { ll sum = 0; for (int i = 0; i < n; i++) sum += (ll)(ls[i] / l); return sum; } /* main */ int main() { cin >> n; for (int i = 0; i < n; i++) cin >> ls[i]; cin >> k; double l0 = 0.0, l1 = 1e9; for (int i = 0; i < 100; i++) { double l = (l0 + l1) / 2; if (cut(l) < k) l1 = l; else l0 = l; } printf("%.14lf\n", l1); return 0; }