#include #define int long long using namespace std; #define double long double double tf,vf,hf, td, vd,hd; double opadnie_f; double najdalszy; double czas_psa; double w_gore_psa; void wczytywanie () { cin>>tf>>vf>>hf>>td>>vd>>hd; opadnie_f=sqrt(2.0*hf); najdalszy=opadnie_f*vf; czas_psa=sqrt((2.0/3.0)*hd); w_gore_psa=3*czas_psa; } double wysokoscf ( double t) { return hf-((t-tf)*(t-tf)/2.0); } double odlegloscf (double t) { return min(najdalszy, (t-tf)*vf); } double wysokoscd (double t) { if((t-td)>czas_psa) return hd; return (t-td)*(w_gore_psa)-3.0*(t-td)*(t-td)/2.0; } double odlegloscd (double t) { return (t-td)*vd; } main() { cout.setf(ios::fixed); cout.precision(10); wczytywanie(); if(vd<=vf) { cout <<(2*najdalszy/vd+td)<=odlegloscf(s) && wysokoscf(s)<=wysokoscd(s)) koniec=s; else poczatek=s; } //cout << poczatek<<" "<