#include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--) #define REP(i,n) for (int i=0;i<(n);i++) #define RREP(i,n) for (int i=(n)-1;i>=0;i--) #define INF 1<<29 #define ALEN(ARR) (sizeof(ARR) / sizeof((ARR)[0])) #define MP make_pair #define mp make_pair #define pb push_back #define PB push_back #define _DEBUG(x) cout<<#x<<": "<> vl >> vr >> d >> w; double ans = 0.0; REP(i, 100000) { if(i % 2 == 0) { double time = d / (vr + w); ans += w * time; d -= (vr + vl) * time; } else { double time = d / (vl + w); ans += w * time; d -= (vr + vl) * time; } } #if DEBUG cout << "** RESULT **" << endl; // debug #endif cout << ans << endl; return 0; }