For problem statement at 2000-2999/2000-2099/2030-2039/2035/problemE.txt this is a correct solution, but verifier at 2000-2999/2000-2099/2030-2039/2035/verifierE.go ends with All 200 tests passed. can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
func solveCase(x, y, z, k int64) int64 {
const INF int64 = 1<<62
ans := INF
base := int64(0)
for p := int64(1); base < z; p++ {
prefix := (p - 1) * y
if prefix+x+y >= ans {
break
}
L := (p-1)*k + 1
U := p * k
R := z - base
for i := L; i <= U; {
q := (R + i - 1) / i
cost := prefix + x*i + y*q
if cost < ans {
ans = cost
}
if q == 1 {
break
}
next := (R - 1) / (q - 1)
if next >= U {
break
}
i = next + 1
}
base += p * k
}
return ans
}
func main() {
in := bufio.NewReaderSize(os.Stdin, 1<<20)
out := bufio.NewWriterSize(os.Stdout, 1<<20)
defer out.Flush()
var t int
fmt.Fscan(in, &t)
for ; t > 0; t-- {
var x, y, z, k int64
fmt.Fscan(in, &x, &y, &z, &k)
fmt.Fprintln(out, solveCase(x, y, z, k))
}
}