use proconio::input; fn main() { input! { n: u64, } println!("{}", u64_floor_sqrt(n)); } // https://rsk0315.hatenablog.com/entry/2023/11/07/221428 // big 感謝... fn u64_floor_sqrt(n: u64) -> u64 { let tmp = (n as f64).sqrt() as u64; let tmp_m1 = tmp.saturating_sub(1); if tmp_m1 * (tmp_m1 + 2) < n { tmp } else { tmp_m1 } }