package main import ( "fmt" "sort" ) func main() { var n int var x []int maxsize := 0 dic := map[int]struct{}{} fmt.Scan(&n) for range make([]struct{}, n) { var y int fmt.Scan(&y) if _, ok := dic[y]; !ok { maxsize = max(y, maxsize) x = append(x, y) } dic[y] = struct{}{} } sort.Ints(x) ans := maxsize for i := range make([]struct{}, len(x)-1) { ans = min(ans, x[i+1]-x[i]) } fmt.Println(ans) } func max(a, b int) int { if a > b { return a } return b } func min(a, b int) int { if a < b { return a } return b }