← Home
For problem statement at 1000-1999/1000-1099/1020-1029/1027/problemE.txt this is a correct solution, but verifier at 1000-1999/1000-1099/1020-1029/1027/verifierE.go ends with All tests passed can you fix the verifier? package main

import (
	"fmt"
)

func main() {
	var n, k int
	if _, err := fmt.Scan(&n, &k); err != nil {
		return
	}

	MOD := int64(998244353)
	F := make([]int64, n+1)

	for L := 1; L <= n; L++ {
		P := make([]int64, n+1)
		P[0] = 1
		currentSum := int64(1)
		for i := 1; i <= n; i++ {
			P[i] = currentSum
			currentSum = (currentSum + P[i]) % MOD
			if i >= L {
				currentSum = (currentSum - P[i-L] + MOD) % MOD
			}
		}
		F[L] = (2 * P[n]) % MOD
	}

	C := make([]int64, n+1)
	for L := 1; L <= n; L++ {
		C[L] = (F[L] - F[L-1] + MOD) % MOD
	}

	var ans int64 = 0
	for Lx := 1; Lx <= n; Lx++ {
		for Ly := 1; Ly <= n; Ly++ {
			if Lx*Ly < k {
				term := (C[Lx] * C[Ly]) % MOD
				ans = (ans + term) % MOD
			}
		}
	}

	inv2 := int64(499122177)
	ans = (ans * inv2) % MOD

	fmt.Println(ans)
}