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

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

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

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

	for tc := 0; tc < t; tc++ {
		var n int
		fmt.Fscan(reader, &n)

		a := make([]int, n)
		for i := 0; i < n; i++ {
			fmt.Fscan(reader, &a[i])
		}

		sort.Ints(a)

		var pairs []int
		for i := 0; i < n-1; {
			if a[i] == a[i+1] {
				pairs = append(pairs, a[i])
				i += 2
			} else {
				i++
			}
		}

		if len(pairs) >= 2 {
			fmt.Fprintf(writer, "%d %d %d %d\n", pairs[0], pairs[0], pairs[1], pairs[1])
			continue
		}

		if len(pairs) == 1 {
			l := pairs[0]
			rem := make([]int, 0, n-2)
			count := 0
			for i := 0; i < n; i++ {
				if a[i] == l && count < 2 {
					count++
				} else {
					rem = append(rem, a[i])
				}
			}

			found := false
			for j := 0; j < len(rem)-1; j++ {
				if rem[j+1]-rem[j] < 2*l {
					fmt.Fprintf(writer, "%d %d %d %d\n", l, l, rem[j], rem[j+1])
					found = true
					break
				}
			}

			if !found {
				fmt.Fprintln(writer, "-1")
			}
			continue
		}

		fmt.Fprintln(writer, "-1")
	}
}