#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define INF_MIN 100000000 #define INF 1145141919 #define INF_MAX 2147483647 #define LL_MAX 9223372036854775807 #define EPS 1e-10 #define PI acos(-1) #define LL long long using namespace std; #define MAX_N 200001 int N; double L[MAX_N]; LL K; bool check(double mid){ LL ret = 0; for(int i = 0; i < N; i++){ ret += (int)(L[i] / mid); } if(ret >= K) return true; else return false; } int main(){ cin >> N; for(int i = 0; i < N; i++){ cin >> L[i]; } cin >> K; double ansL = 0.0, ansR = (1e+9) + 1.0; for(int i = 0; i < 100; i++){ double mid = (ansR + ansL)/2.0; if(check(mid)){ ansL = mid; } else{ ansR = mid; } } printf("%.15f\n", ansL); return 0; }