← Home
package main

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

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

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

	dp := make([][]int, n)
	for i := range dp {
		dp[i] = make([]int, n)
	}

	for length := 2; length <= n; length++ {
		for l := 0; l+length <= n; l++ {
			r := l + length - 1
			if dp[l+1][r] < dp[l][r-1] {
				dp[l][r] = a[r] - a[l] + dp[l+1][r]
			} else {
				dp[l][r] = a[r] - a[l] + dp[l][r-1]
			}
		}
	}

	fmt.Fprintln(out, dp[0][n-1])
}