← Home
For problem statement at 1000-1999/1700-1799/1780-1789/1786/problemB.txt this is a correct solution, but verifier at 1000-1999/1700-1799/1780-1789/1786/verifierB.go ends with All 100 tests passed can you fix the verifier? package main

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

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var t int
	if _, err := fmt.Fscan(in, &t); err != nil {
		return
	}

	for i := 0; i < t; i++ {
		var n int
		var w, h int64
		fmt.Fscan(in, &n, &w, &h)

		a := make([]int64, n)
		for j := 0; j < n; j++ {
			fmt.Fscan(in, &a[j])
		}

		b := make([]int64, n)
		for j := 0; j < n; j++ {
			fmt.Fscan(in, &b[j])
		}

		maxL := b[0] - a[0] - (w - h)
		minR := b[0] - a[0] + (w - h)

		for j := 1; j < n; j++ {
			diff := b[j] - a[j]
			L := diff - (w - h)
			R := diff + (w - h)
			if L > maxL {
				maxL = L
			}
			if R < minR {
				minR = R
			}
		}

		if maxL <= minR {
			fmt.Fprintln(out, "YES")
		} else {
			fmt.Fprintln(out, "NO")
		}
	}
}