小沙的悬崖
题号:NC253077
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

小沙被困在两个巨大的墙壁之中快要被压死了,但是两个墙壁中间就是万丈悬崖,小沙会不断的向对面墙壁跳。两个墙壁的初始距离为s。小沙的初始速度是v_0(相对于起跳墙壁),初始速度方向为水平,但由于重力的影响,小沙会有一个向下的加速度g,因此小沙的运动轨迹是抛物线。已知两个墙壁是以v_1的相对速度匀速相向运动。当小沙跳到对面墙壁时,他会立刻重新起跳,初始速度仍然是v_0(相对于起跳墙壁),方向仍然是水平。请问小沙在被压死的那一刻一共飞了多少米?
我们计算小沙路程时,以小沙第一次起跳的墙壁作为参考系!
注:小沙可以视为质点,即忽略体积。

输入描述:

四个正整数s,v_0,v_1,g,用空格隔开。
1\leq s,v_0,v_1,g \leq 100

输出描述:

小沙一共飞行的路程长度。如果你的答案和标准答案的误差不超过10^{-4},则认为你的答案正确。
示例1

输入

复制
1 1 1 1

输出

复制
1.35509738

说明