For problem statement at 1000-1999/1000-1099/1090-1099/1099/problemB.txt this is a correct solution, but verifier at 1000-1999/1000-1099/1090-1099/1099/verifierB.go ends with wrong answer on test 1
input:
916666081
expected:
60553
got:
60554
exit status 1 can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
func isqrt(x int64) int64 {
l, r := int64(0), int64(100000)
for l < r {
m := (l + r + 1) >> 1
if m*m <= x {
l = m
} else {
r = m - 1
}
}
return l
}
func main() {
in := bufio.NewReaderSize(os.Stdin, 1<<20)
var n int64
fmt.Fscan(in, &n)
k := isqrt(n)
ans := int64(1<<60)
for a := k; a <= k+2; a++ {
if a <= 0 {
continue
}
b := (n + a - 1) / a
cur := a + b
if cur < ans {
ans = cur
}
}
fmt.Println(ans + 1)
}