For problem statement at 2000-2999/2100-2199/2110-2119/2119/problemB.txt this is a correct solution, but verifier at 2000-2999/2100-2199/2110-2119/2119/verifierB.go ends with All 202 tests passed can you fix the verifier? package main
import (
"bufio"
"bytes"
"os"
)
type FastScanner struct {
r *bufio.Reader
}
func NewFastScanner() *FastScanner {
return &FastScanner{r: bufio.NewReaderSize(os.Stdin, 1<<20)}
}
func (fs *FastScanner) NextInt64() int64 {
var c byte
var err error
for {
c, err = fs.r.ReadByte()
if err != nil {
return 0
}
if c > ' ' {
break
}
}
var n int64
for {
n = n*10 + int64(c-'0')
c, err = fs.r.ReadByte()
if err != nil || c <= ' ' {
break
}
}
return n
}
func main() {
fs := NewFastScanner()
t := int(fs.NextInt64())
var out bytes.Buffer
for ; t > 0; t-- {
n := int(fs.NextInt64())
px := fs.NextInt64()
py := fs.NextInt64()
qx := fs.NextInt64()
qy := fs.NextInt64()
var sum int64
var mx int64
for i := 0; i < n; i++ {
a := fs.NextInt64()
sum += a
if a > mx {
mx = a
}
}
low := int64(0)
if 2*mx > sum {
low = 2*mx - sum
}
dx := px - qx
dy := py - qy
d2 := dx*dx + dy*dy
if d2 >= low*low && d2 <= sum*sum {
out.WriteString("Yes\n")
} else {
out.WriteString("No\n")
}
}
os.Stdout.Write(out.Bytes())
}