package main import . "fmt" import . "math" func sqrt(a int) int { x := int(Sqrt(float64(a))) if x*x < a { x++ } if a < x*x { x-- } return x } func cbrt(a int) int { x := int(Cbrt(float64(a))) if x*x*x < a { x++ } if a/x < x*x { x-- } return x } func main() { var n int Scan(&n) ans := sqrt(n)+2+(n-sqrt(n)*sqrt(n)) ans = min(ans, cbrt(n)+3+(n-cbrt(n)*cbrt(n)*cbrt(n))) for i := 2; i <= 4; i++ { j := 0 ij := 1 ans = min(ans, i+j+(n-ij)) for ij <= n/i { j++ ij *= i ans = min(ans, i+j+(n-ij)) } } Println(ans) }