← Home
For problem statement at 2000-2999/2000-2099/2000-2009/2005/problemB2.txt this is a correct solution, but verifier at 2000-2999/2000-2099/2000-2009/2005/verifierB2.go ends with build reference failed: chdir 2000-2999/2000-2099/2000-2009/2005: no such file or directory

exit status 1 can you fix the verifier? ```go
package main

import (
	"bufio"
	"io"
	"os"
	"sort"
)

type FastScanner struct {
	r   io.Reader
	buf []byte
	n   int
	i   int
}

func NewFastScanner(r io.Reader) *FastScanner {
	return &FastScanner{
		r:   r,
		buf: make([]byte, 1<<20),
	}
}

func (fs *FastScanner) refill() {
	n, _ := fs.r.Read(fs.buf)
	fs.n = n
	fs.i = 0
}

func (fs *FastScanner) NextInt64() int64 {
	var sign int64 = 1
	var val int64 = 0
	if fs.i >= fs.n {
		fs.refill()
	}
	// skip non-digit
	for {
		if fs.n == 0 {
			return 0
		}
		c := fs.buf[fs.i]
		if (c >= '0' && c <= '9') || c == '-' {
			break
		}
		fs.i++
		if fs.i >= fs.n {
			fs.refill()
		}
	}
	// sign
	if fs.buf[fs.i] == '-' {
		sign = -1
		fs.i++
		if fs.i >= fs.n {
			fs.refill()
		}
	}
	// digits
	for {
		if fs.n == 0 {
			break
		}
		c := fs.buf[fs.i]
		if c < '0' || c > '9' {
			break
		}
		val = val*10 + int64(c-'0')
		fs.i++
		if fs.i >= fs.n {
			fs.refill()
		}
	}
	return val * sign
}

func main() {
	in := NewFastScanner(os.Stdin)
	out := bufio.NewWriterSize(os.Stdout, 1<<20)
	defer out.Flush()

	t := int(in.NextInt64())
	for ; t > 0; t-- {
		n := in.NextInt64()
		m := int(in.NextInt64())
		q := int(in.NextInt64())

		b := make([]int64, m)
		for i := 0; i < m; i++ {
			b[i] = in.NextInt64()
		}
		sort.Slice(b, func(i, j int) bool { return b[i] < b[j] })

		for i := 0; i < q; i++ {
			a := in.NextInt64()
			idx := sort.Search(m, func(i int) bool { return b[i] >= a })
			var ans int64
			if idx == 0 {
				ans = b[0] - 1
			} else if idx == m {
				ans = n - b[m-1]
			} else {
				ans = (b[idx] - b[idx-1]) / 2
			}
			out.WriteString(intToString(ans))
			out.WriteByte('\n')
		}
	}
}

func intToString(x int64) string {
	if x == 0 {
		return "0"
	}
	var buf [20]byte
	i := len(buf)
	neg := x < 0
	if neg {
		x = -x
	}
	for x > 0 {
		i--
		buf[i] = byte('0' + x%10)
		x /= 10
	}
	if neg {
		i--
		buf[i] = '-'
	}
	return string(buf[i:])
}
```