#include #ifdef _DEBUG #include "debug.hpp" #else #define debug(...) #endif #define REP(i, m, n) for(int i = (int)(m); i < (int)(n); ++i) #define rep(i, n) REP(i, 0, n) using namespace std; using ll = long long; using ld = long double; using pll = pair; const int INF = 1<<30; const ll LINF = 1LL<<60; const ld PI = 3.1415926535897932; template inline bool chmax(T &a, const U &b) { if(a < b) { a = b; return true; } return false; } template inline bool chmin(T &a, const U &b) { if(a > b) { a = b; return true; } return false; } ll dp[101000]; signed main() { cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; vector y(n); rep(i, n) cin >> y[i]; sort(y.begin(), y.end()); rep(i, 101000) dp[i] = LINF; dp[0] = 0; rep(i, n) { if(i+1 < n) chmin(dp[i+2], dp[i]+y[i+1]-y[i]); if(i+2 < n) chmin(dp[i+3], dp[i]+y[i+2]-y[i]); } cout << dp[n] << '\n'; return 0; }