#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; double xa; double ya; double xb; double yb; double f(double y) { return sqrt(xa*xa + (ya - y)*(ya - y)) + sqrt(xb*xb + (yb - y)*(yb - y)); } int main() { cin >> xa >> ya >> xb >> yb; double mint = 0; double maxt = 1145141919; while ((maxt-mint)>0.0000001&&clock()/(double)(CLOCKS_PER_SEC)<1.5) { double sa = maxt - mint; sa /= 3.0; double mid1 = mint + sa; double mid2 = mid1 + sa; if (f(mid1) > f(mid2)) { mint = mid1; } else { maxt = mid2; } } printf("%.7f\n", mint); return 0; }