DarkArtheme

Gvozdi

Apr 11th, 2021
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. int32_t main() {
  2.     int n = 0, i = 0, j = 1, k = 1, ans = 0, flag = 1;
  3.     int del = 0;
  4.     int s = 0, m = 0;
  5.     cin >> n;
  6.     const int c = 2;
  7.     vector<vector<int>> dp(n + 5, vector<int>(c));
  8.     vector<int> d(n);
  9.     fori(n) {
  10.         cin >> d[i];
  11.     }
  12.     sort(d.begin(), d.end());
  13.     dp[1][0] = d[max(0, 1)] - d[min(0, 1)];
  14.     dp[1][1] = -1;
  15.     for (i = 2; i < n; i++) {
  16.         dp[i][0] = 100000000;
  17.         if (dp[i - 1][0] != -1)
  18.             dp[i][0] = min(dp[i][0], d[max(i, i - 1)] - d[min(i, i - 1)] + dp[i - 1][0]);
  19.         if(dp[i-1][1] != -1)
  20.             dp[i][0] = min(dp[i][0], d[max(i, i - 1)] - d[min(i, i - 1)] + dp[i - 1][1]);
  21.         dp[i][1] = dp[i - 1][0];
  22.     }
  23.     cout << dp[n - 1][0] << endl;
  24. }
Advertisement
Add Comment
Please, Sign In to add comment