#include #include #include #include #include using namespace std; using ld=long double; map > m; vector l; ld l_max; ld solve(int k) { int ksum; ld s, e, c, ans; int n=l.size(), i, j; s=l_max/k; e=l_max; auto it=m.upper_bound(k); if(it!=m.end()) { e=it->second; --it; if(it!=m.begin()) s=max(it->second, s); } //printf("k=%d s=%Lf e=%Lf\n", k, s, e); ans=s; for(i=0;i<100;i++) { if(e-s<1e-20) break; c=(s+e)*0.5; ksum=0; for(j=0;j=k) { ans=c; s=c; } else { e=c; } } return ans; } int main(void) { int n, q, k, i; ld ans; while(scanf("%d", &n)==1) { m.clear(); l.resize(n); l_max=0.0; for(i=0;i