For problem statement at 1000-1999/1800-1899/1820-1829/1827/problemA.txt this is a correct solution, but verifier at 1000-1999/1800-1899/1820-1829/1827/verifierA.go ends with All tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
in := bufio.NewReaderSize(os.Stdin, 1<<20)
out := bufio.NewWriterSize(os.Stdout, 1<<20)
defer out.Flush()
var t int
if _, err := fmt.Fscan(in, &t); err != nil {
return
}
for tc := 0; tc < t; tc++ {
var n int
fmt.Fscan(in, &n)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &a[i])
}
b := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &b[i])
}
sort.Ints(a)
sort.Ints(b)
ans := int64(1)
mod := int64(1000000007)
ptr := 0
for i := 1; i <= n; i++ {
for ptr < n && a[ptr] <= b[i-1] {
ptr++
}
factor := int64(i - ptr)
if factor <= 0 {
ans = 0
break
}
ans = (ans * factor) % mod
}
fmt.Fprintln(out, ans)
}
}