use proconio::input; fn main() { input! { n: usize, } println!("{}", calc_floor_sqrt(n)); } pub fn calc_floor_sqrt(n: usize) -> usize { let mut ok = 0_usize; let mut ng = n; while ng - ok > 1 { let mid = (ok + ng) / 2; if mid <= n / mid { ok = mid; } else { ng = mid; } } ok }