← Home
For problem statement at 1000-1999/1100-1199/1150-1159/1154/problemB.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1150-1159/1154/verifierB.go ends with all tests passed can you fix the verifier? package main

import (
	"fmt"
	"sort"
)

func main() {
	var n int
	if _, err := fmt.Scan(&n); err != nil {
		return
	}
	
	m := make(map[int]bool)
	var u []int
	for i := 0; i < n; i++ {
		var val int
		fmt.Scan(&val)
		if !m[val] {
			m[val] = true
			u = append(u, val)
		}
	}
	
	sort.Ints(u)
	
	if len(u) == 1 {
		fmt.Println(0)
	} else if len(u) == 2 {
		diff := u[1] - u[0]
		if diff%2 == 0 {
			fmt.Println(diff / 2)
		} else {
			fmt.Println(diff)
		}
	} else if len(u) == 3 {
		if u[1]-u[0] == u[2]-u[1] {
			fmt.Println(u[1] - u[0])
		} else {
			fmt.Println(-1)
		}
	} else {
		fmt.Println(-1)
	}
}