#include using namespace std; int n,k; double a[20000]; bool query(double x); //queryを満たすもののうち最小のものを返す double solve(){ //不変条件: 「常に答えは半開区間 (L, R] の範囲にある」 double L=0.001; double R=10000; int counter=0; while(counter<1000){ double C=(L+R)/2; (query(C)?R:L)=C; counter++; //cout<>n; for(int i=0;i>a[i]; } cin>>k; printf("%.11lf\n",solve());; } bool query(double x){ int sum=0; for(int i=0;i