#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; #define MOD 1000000007 // 10^9 + 7 #define INF 1000000000 // 10^9 #define LLINF 1LL<<60 // 分からん int Y[100009]; ll dp[100009]; // dp[i] : i番目までの星がペアを持つときの最小値 int main() { cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; for (int i = 1; i <= N; i++) cin >> Y[i]; sort(Y+1, Y + N + 1); dp[0] = 0; dp[1] = LLINF; dp[2] = Y[2] - Y[1]; for (int i = 3; i <= N; i++) dp[i] = min(dp[i - 2] + Y[i] - Y[i - 1], dp[i - 3] + Y[i] - Y[i - 2]); cout << dp[N] << endl; return 0; }