For problem statement at 0-999/0-99/70-79/78/problemD.txt this is a correct solution, but verifier at 0-999/0-99/70-79/78/verifierD.go ends with case 1 failed: expected 7681 got 2563
input:47
exit status 1 can you fix the verifier? package main
import (
"bufio"
"fmt"
"math"
"os"
)
func isqrt(x int64) int64 {
r := int64(math.Sqrt(float64(x)))
for (r+1)*(r+1) <= x {
r++
}
for r*r > x {
r--
}
return r
}
func rowCount(j, n int64) int64 {
jj := j * j
if jj+j <= n {
d := 4*n - 3*jj - 2*j + 1
s := isqrt(d)
r := (s - j - 1) / 2
return 2*r + j + 1
}
d := 4*n - 3*jj - 4*j
if d < 0 {
return 0
}
s := isqrt(d)
t := (j - s + 1) / 2
return j - 2*t + 1
}
func main() {
in := bufio.NewReader(os.Stdin)
var k int64
fmt.Fscan(in, &k)
n := (k*k - 1) / 3
var ans int64
for j := int64(0); ; j++ {
jj := j * j
fmin := jj + j - jj/4
if fmin > n {
break
}
c := rowCount(j, n)
if j == 0 {
ans += c
} else {
ans += 2 * c
}
}
out := bufio.NewWriter(os.Stdout)
fmt.Fprint(out, ans)
out.Flush()
}