For problem statement at 1000-1999/1700-1799/1770-1779/1775/problemE.txt this is a correct solution, but verifier at 1000-1999/1700-1799/1770-1779/1775/verifierE.go ends with all tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
t := int(readInt(reader))
for i := 0; i < t; i++ {
n := int(readInt(reader))
var pos, neg int64 = 0, 0
for j := 0; j < n; j++ {
x := readInt(reader)
if x > 0 {
pos += x
neg -= x
if neg < 0 {
neg = 0
}
} else if x < 0 {
x = -x
neg += x
pos -= x
if pos < 0 {
pos = 0
}
}
}
fmt.Fprintln(writer, pos+neg)
}
}
func readInt(reader *bufio.Reader) int64 {
var res int64 = 0
var sign int64 = 1
var b byte
var err error
for {
b, err = reader.ReadByte()
if err != nil {
return 0
}
if b == '-' || (b >= '0' && b <= '9') {
break
}
}
if b == '-' {
sign = -1
b, err = reader.ReadByte()
if err != nil {
return 0
}
}
for b >= '0' && b <= '9' {
res = res*10 + int64(b-'0')
b, err = reader.ReadByte()
if err != nil {
break
}
}
return res * sign
}