N = gets.to_i Y = gets.split.map(&:to_i).sort dp = Array.new(N, Float::INFINITY) dp[1] = Y[1] - Y[0] dp[2] = Y[2] - Y[0] 3.upto(N - 1) do |i| y = Y[i] 2.upto(3) do |k| v = dp[i - k] + y - Y[i - k + 1] dp[i] = v if dp[i] > v end end puts dp[N - 1]