knyazer

Untitled

Jun 15th, 2020
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3.  
  4. typedef long long ll;
  5.  
  6. using namespace std;
  7.  
  8. ll* a;
  9. ll* cache;
  10. ll n;
  11.  
  12. ll algo()
  13. {
  14.     if (n == 2) return 0;
  15.  
  16.     cache[n - 1] = 0;
  17.     cache[n - 2] = a[n - 1] - a[n - 2];
  18.  
  19.     for (ll i = n - 3; i; i--)
  20.         cache[i] = min((a[i + 1] - a[i]) + cache[i + 1], (a[i + 2] - a[i + 1]) + cache[i + 2]);
  21.  
  22.     return cache[1];
  23. }
  24.  
  25. int main()
  26. {
  27.     cin >> n;
  28.    
  29.     a = new ll[n];
  30.     cache = new ll[n];
  31.  
  32.     for (ll i = 0; i < n; i++)
  33.     {
  34.         cache[i] = -1;
  35.         cin >> a[i];
  36.     }
  37.  
  38.     sort(a, a + n);
  39.  
  40.     /*
  41.     for (ll i = 0; i < n; i++) cout << a[i] << " ";
  42.     cout << endl;*/
  43.  
  44.     cout << algo() + (a[1] - a[0]) << endl;
  45.  
  46.     /*
  47.     for (ll i = 0; i < n; i++) cout << cache[i] << " ";
  48.     cout << endl;
  49.     */
  50. }
Advertisement
Add Comment
Please, Sign In to add comment