Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- typedef long long ll;
- using namespace std;
- ll* a;
- ll* cache;
- ll n;
- ll algo()
- {
- if (n == 2) return 0;
- cache[n - 1] = 0;
- cache[n - 2] = a[n - 1] - a[n - 2];
- for (ll i = n - 3; i; i--)
- cache[i] = min((a[i + 1] - a[i]) + cache[i + 1], (a[i + 2] - a[i + 1]) + cache[i + 2]);
- return cache[1];
- }
- int main()
- {
- cin >> n;
- a = new ll[n];
- cache = new ll[n];
- for (ll i = 0; i < n; i++)
- {
- cache[i] = -1;
- cin >> a[i];
- }
- sort(a, a + n);
- /*
- for (ll i = 0; i < n; i++) cout << a[i] << " ";
- cout << endl;*/
- cout << algo() + (a[1] - a[0]) << endl;
- /*
- for (ll i = 0; i < n; i++) cout << cache[i] << " ";
- cout << endl;
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment