← Home
For problem statement at 1000-1999/1200-1299/1280-1289/1282/problemA.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1280-1289/1282/verifierA.go ends with All 100 tests passed can you fix the verifier? package main

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

func max(a, b int64) int64 {
	if a > b {
		return a
	}
	return b
}

func min(a, b int64) int64 {
	if a < b {
		return a
	}
	return b
}

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 ; t > 0; t-- {
		var a, b, c, r int64
		fmt.Fscan(in, &a, &b, &c, &r)
		l := min(a, b)
		rr := max(a, b)
		cl := c - r
		cr := c + r
		il := max(l, cl)
		ir := min(rr, cr)
		overlap := ir - il
		if overlap < 0 {
			overlap = 0
		}
		ans := (rr - l) - overlap
		if ans < 0 {
			ans = 0
		}
		fmt.Fprintln(out, ans)
	}
}