#include #include #include using namespace std; typedef pair pbb; double c[123456]; int n; double s; pbb ok(double t, bool term){ pbb res = {true, true}; double over = 0; for(int i = 0; i < n; i++){ double o = over+s*t - c[i]; //printf("%d over: %d if(o < 0){ res.first = false; if(term) return res; } if(i == n-1 && o < 0) res.second = false; over = max(o, 0.0); } return res; } int main(void){ while(scanf("%d %lf", &n, &s) == 2){ double nejv = -1; for(int i = 0; i < n; i ++){ double tmp; scanf("%lf", &tmp); c[i] = tmp; nejv = max(nejv,tmp); } double l = 0; double r = c[n-1]/s+1; while(r-l > 0.00000005){ // printf("%lf %lf\n", l, r); double mid = (l+r)/2; if(ok(mid,false).second) r = mid; else l = mid; } printf("%.12lf ", r); l = r; r = nejv/s; while(r-l > 0.00000005){ // printf("%lf %lf\n", l, r); double mid = (l+r)/2; if(ok(mid,true).first) r = mid; else l = mid; } printf("%.12lf\n", r); } return 0; }