//Pだけ作るには //コーヒーがP * A/(A+B)、紅茶がP * B/(A+B)だけ必要。 //Pを増やしていってどちらかが足りなくなったら、その時のPが答え。 //2分探索でPを求めればよい。 #include using namespace std; bool isOk(double p, int a, int b, int x, int y) { return (p * a/(a+b) <= (double)x && p * b/(a+b) <= (double)y); } int main() { int a, b, x, y; cin >> a >> b >> x >> y; double st = 0, ed = 114514072, medi; while (st + 1e-12 <= ed) { medi = (st + ed)/2.0; if (isOk(medi, a, b, x, y) ) st = medi; else ed = medi; } cout << medi << endl; return 0; }