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")
}
}