For problem statement at 1000-1999/1500-1599/1540-1549/1547/problemC.txt this is a correct solution, but verifier at 1000-1999/1500-1599/1540-1549/1547/verifierC.go ends with All 100 tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var t int
fmt.Fscan(in, &t)
var sb strings.Builder
for ; t > 0; t-- {
var k, n, m int
fmt.Fscan(in, &k, &n, &m)
a := make([]int, n)
b := make([]int, m)
for i := 0; i < n; i++ {
fmt.Fscan(in, &a[i])
}
for i := 0; i < m; i++ {
fmt.Fscan(in, &b[i])
}
i, j := 0, 0
ans := make([]int, 0, n+m)
ok := true
for i < n || j < m {
if i < n && a[i] == 0 {
ans = append(ans, 0)
k++
i++
} else if j < m && b[j] == 0 {
ans = append(ans, 0)
k++
j++
} else if i < n && a[i] <= k {
ans = append(ans, a[i])
i++
} else if j < m && b[j] <= k {
ans = append(ans, b[j])
j++
} else {
ok = false
break
}
}
if !ok {
sb.WriteString("-1\n")
} else {
for idx, v := range ans {
if idx > 0 {
sb.WriteByte(' ')
}
sb.WriteString(fmt.Sprintf("%d", v))
}
sb.WriteByte('\n')
}
}
fmt.Fprint(out, sb.String())
}