← Home
For problem statement at 1000-1999/1100-1199/1180-1189/1188/problemC.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1180-1189/1188/verifierC.go ends with case 9 failed: runtime error: exit status 2
panic: runtime error: integer divide by zero

goroutine 1 [running]:
main.main()
	/tmp/build-2049900204/solution.go:30 +0x488

input:
3 1
22 36 52
exit status 1 can you fix the verifier? ```go
package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	var n, k int
	if _, err := fmt.Fscan(reader, &n, &k); err != nil {
		return
	}

	a := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Fscan(reader, &a[i])
	}

	sort.Ints(a)

	ans := 0
	mod := 998244353

	prevDp := make([]int, n)
	currDp := make([]int, n)

	maxX := (a[n-1] - a[0]) / (k - 1)

	for x := 1; x <= maxX; x++ {
		for i := 0; i < n; i++ {
			prevDp[i] = 1
		}

		for j := 2; j <= k; j++ {
			sum := 0
			p := 0
			for i := 0; i < n; i++ {
				for p < i && a[i]-a[p] >= x {
					sum += prevDp[p]
					if sum >= mod {
						sum -= mod
					}
					p++
				}
				currDp[i] = sum
			}
			prevDp, currDp = currDp, prevDp
		}

		sumK := 0
		for i := 0; i < n; i++ {
			sumK += prevDp[i]
			if sumK >= mod {
				sumK -= mod
			}
		}

		if sumK == 0 {
			break
		}
		ans += sumK
		if ans >= mod {
			ans -= mod
		}
	}

	fmt.Println(ans)
}
```