← Home
```go
package main

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

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1<<20)
	out := bufio.NewWriterSize(os.Stdout, 1<<20)
	defer out.Flush()

	var t int
	fmt.Fscan(in, &t)
	for ; t > 0; t-- {
		var n int
		fmt.Fscan(in, &n)
		a := make([]int64, n)
		for i := 0; i < n; i++ {
			fmt.Fscan(in, &a[i])
		}
		sort.Slice(a, func(i, j int) bool { return a[i] < a[j] })

		var ans int64
		if n == 1 {
			ans = a[0]
		} else {
			ans = a[0]
			for i := 1; i < n; i++ {
				cur := a[i] - a[i-1]
				if cur > ans {
					ans = cur
				}
			}
		}
		fmt.Fprintln(out, ans)
	}
}
```