← Home
For problem statement at 2000-2999/2000-2099/2060-2069/2069/problemC.txt this is a correct solution, but verifier at 2000-2999/2000-2099/2060-2069/2069/verifierC.go ends with All 12 tests passed can you fix the verifier? package main

import (
	"fmt"
	"io"
	"os"
)

func main() {
	buf, _ := io.ReadAll(os.Stdin)
	var pos int

	nextInt := func() int {
		for pos < len(buf) && (buf[pos] < '0' || buf[pos] > '9') {
			pos++
		}
		if pos == len(buf) {
			return 0
		}
		res := 0
		for pos < len(buf) && buf[pos] >= '0' && buf[pos] <= '9' {
			res = res*10 + int(buf[pos]-'0')
			pos++
		}
		return res
	}

	t := nextInt()
	const mod = 998244353

	for i := 0; i < t; i++ {
		n := nextInt()
		dp1, dp2, dp3 := 0, 0, 0
		for j := 0; j < n; j++ {
			val := nextInt()
			if val == 1 {
				dp1 = (dp1 + 1) % mod
			} else if val == 2 {
				dp2 = (dp2*2 + dp1) % mod
			} else if val == 3 {
				dp3 = (dp3 + dp2) % mod
			}
		}
		fmt.Println(dp3)
	}
}