fork download
  1. #include <iostream>
  2. #include <algorithm>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7. int n;
  8. cin >> n;
  9. int a[n];
  10. for (int i = 0; i < n; i++) {
  11. cin >> a[i];
  12. }
  13. if (n == 2) {
  14. cout << abs(a[1] - a[0]);
  15. return 0;
  16. }
  17. sort(a, a + n);
  18. int dp[n];
  19. dp[0] = a[1] - a[0];
  20. for (int i = 1; i < n - 1; i++) {
  21. if (dp[i - 1] == a[i] - a[i - 1]) {
  22. dp[i] = 0;
  23. } else {
  24. dp[i] = min(a[i] - a[i - 1], a[i + 1] - a[i]);
  25. }
  26. }
  27. if (dp[n - 2] == a[n - 1] - a[n - 2]) {
  28. dp[n - 1] = 0;
  29. } else {
  30. dp[n - 1] = a[n - 1] - a[n - 2];
  31. }
  32. int sum = 0;
  33. for (int i = 0; i < n; i++) {
  34. sum += dp[i];
  35. cout << dp[i] << " ";
  36. }
  37. cout << '\n' << sum;
  38. }
Success #stdin #stdout 0.01s 5476KB
stdin
3
3 4 12
stdout
1 0 8 
9