For problem statement at 1000-1999/1300-1399/1390-1399/1396/problemA.txt this is a correct solution, but verifier at 1000-1999/1300-1399/1390-1399/1396/verifierA.go ends with all tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var n int
fmt.Fscan(in, &n)
a := make([]int64, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &a[i])
}
if n == 1 {
fmt.Fprintln(out, "1 1")
fmt.Fprintln(out, 0)
fmt.Fprintln(out, "1 1")
fmt.Fprintln(out, 0)
fmt.Fprintln(out, "1 1")
fmt.Fprintln(out, -a[0])
return
}
// Operation 1: make a[0..n-2] divisible by n
fmt.Fprintf(out, "1 %d\n", n-1)
for i := 0; i < n-1; i++ {
rem := ((a[i]%int64(n) + int64(n)) % int64(n))
add := int64(n-1) * rem
if i > 0 {
fmt.Fprint(out, " ")
}
fmt.Fprint(out, add)
a[i] += add
}
fmt.Fprintln(out)
// Operation 2: zero out first n-1 elements
fmt.Fprintf(out, "1 %d\n", n)
for i := 0; i < n-1; i++ {
if i > 0 {
fmt.Fprint(out, " ")
}
fmt.Fprint(out, -a[i])
a[i] = 0
}
if n-1 > 0 {
fmt.Fprint(out, " ")
}
fmt.Fprintln(out, 0)
// Operation 3: zero out the last element
fmt.Fprintf(out, "%d %d\n", n, n)
fmt.Fprintln(out, -a[n-1])
}