← Home
For problem statement at 2000-2999/2000-2099/2010-2019/2019/problemB.txt this is a correct solution, but verifier at 2000-2999/2000-2099/2010-2019/2019/verifierB.go ends with All tests passed. can you fix the verifier? ```go
package main

import (
	"bufio"
	"os"
	"strconv"
	"strings"
)

func solve() {
	scanner := bufio.NewScanner(os.Stdin)
	buf := make([]byte, 0, 64*1024)
	scanner.Buffer(buf, 1024*1024)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	scanner.Scan()
	t, _ := strconv.Atoi(scanner.Text())

	for tc := 0; tc < t; tc++ {
		scanner.Scan()
		line := strings.Split(scanner.Text(), " ")
		n, _ := strconv.Atoi(line[0])
		q, _ := strconv.Atoi(line[1])

		scanner.Scan()
		xStr := strings.Split(scanner.Text(), " ")
		x := make([]int64, n)
		for i := 0; i < n; i++ {
			v, _ := strconv.ParseInt(xStr[i], 10, 64)
			x[i] = v
		}

		scanner.Scan()
		qStr := strings.Split(scanner.Text(), " ")
		queries := make([]int64, q)
		for i := 0; i < q; i++ {
			v, _ := strconv.ParseInt(qStr[i], 10, 64)
			queries[i] = v
		}

		cnt := make(map[int64]int64)

		for i := 0; i < n; i++ {
			c := int64(i+1)*int64(n-i) - 1
			cnt[c]++
		}

		for i := 0; i < n-1; i++ {
			gap := x[i+1] - x[i] - 1
			if gap > 0 {
				c := int64(i+1) * int64(n-i-1)
				cnt[c] += gap
			}
		}

		for i := 0; i < q; i++ {
			res := cnt[queries[i]]
			if i > 0 {
				out.WriteByte(' ')
			}
			out.WriteString(strconv.FormatInt(res, 10))
		}
		out.WriteByte('\n')
	}
}

func main() {
	solve()
}
```