use proconio::input; fn main() { input! { r: u32, p: u32, q: u32, a: u32, b: u32, c: u32, d: u32, } let mut ok = 0u32; let mut ng = 1_000_000_001; let sum = a + b + c + d; while ng - ok > 1 { let mid = (ok + ng) / 2; if mid * 3 > sum { ng = mid; continue; } let need2 = mid.saturating_sub(a) + mid.saturating_sub(b) + mid.saturating_sub(c); let cost = q as u64 * need2 as u64 + p as u64 * mid as u64; if cost > r as u64 { ng = mid; } else { ok = mid; } } println!("{ok}"); }