For problem statement at 1000-1999/1700-1799/1760-1769/1765/problemJ.txt this is a correct solution, but verifier at 1000-1999/1700-1799/1760-1769/1765/verifierJ.go ends with test 2 failed: expected 9 but got 13
input:
3
1 3 5
2 4 6
expected:
9
actual:
13
exit status 1 can you fix the verifier? ```go
package main
import (
"fmt"
"io"
"os"
"sort"
)
type Scanner struct {
buf []byte
pos int
}
func NewScanner() *Scanner {
b, _ := io.ReadAll(os.Stdin)
return &Scanner{buf: b, pos: 0}
}
func (s *Scanner) nextInt() int {
for s.pos < len(s.buf) && s.buf[s.pos] <= ' ' {
s.pos++
}
if s.pos >= len(s.buf) {
return 0
}
res := 0
for s.pos < len(s.buf) && s.buf[s.pos] > ' ' {
res = res*10 + int(s.buf[s.pos]-'0')
s.pos++
}
return res
}
func main() {
sc := NewScanner()
n := sc.nextInt()
if n == 0 {
return
}
A := make([]int, n)
for i := 0; i < n; i++ {
A[i] = sc.nextInt()
}
B := make([]int, n)
for i := 0; i < n; i++ {
B[i] = sc.nextInt()
}
sort.Ints(A)
sort.Ints(B)
prefB := make([]int64, n+1)
for i := 0; i < n; i++ {
prefB[i+1] = prefB[i] + int64(B[i])
}
var S, M int64
j := 0
for i := 0; i < n; i++ {
for j < n && B[j] <= A[i] {
j++
}
term1 := int64(j)*int64(A[i]) - prefB[j]
term2 := (prefB[n] - prefB[j]) - int64(n-j)*int64(A[i])
S += term1 + term2
diff := int64(A[i]) - int64(B[i])
if diff < 0 {
diff = -diff
}
M += diff
}
ans := S - int64(n-1)*M
fmt.Println(ans)
}
```