For problem statement at 1000-1999/1000-1099/1000-1009/1009/problemE.txt this is a correct solution, but verifier at 1000-1999/1000-1099/1000-1009/1009/verifierE.go ends with All tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
)
func readInt(reader *bufio.Reader) int64 {
var res int64
var b byte
var err error
for {
b, err = reader.ReadByte()
if err != nil {
return 0
}
if b >= '0' && b <= '9' {
break
}
}
res = int64(b - '0')
for {
b, err = reader.ReadByte()
if err != nil || b < '0' || b > '9' {
break
}
res = res*10 + int64(b-'0')
}
return res
}
func main() {
reader := bufio.NewReader(os.Stdin)
n := int(readInt(reader))
a := make([]int64, n+1)
for i := 1; i <= n; i++ {
a[i] = readInt(reader)
}
mod := int64(998244353)
ans := a[n] % mod
power := int64(1)
for k := n - 1; k >= 1; k-- {
coeff := (int64(n-k+2) * power) % mod
ans = (ans + coeff*a[k]) % mod
power = (power * 2) % mod
}
fmt.Println(ans)
}