fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n;
  6. cin >> n;
  7.  
  8. vector<int> arr(n);
  9.  
  10. for(int i=0; i<n; i++) {
  11. cin >> arr[i];
  12. }
  13.  
  14. int k;
  15. cin >> k;
  16.  
  17. if (n == 1) {
  18. cout << "Minimum Jumps : 0\n";
  19. return 0;
  20. }
  21.  
  22. vector<int> dp(n, 0);
  23.  
  24. dp[0] = 0;
  25.  
  26. dp[1] = abs(arr[0] - arr[1]);
  27.  
  28. for(int i=2; i<n; i++) {
  29. int answer = INT_MAX;
  30.  
  31. int j = 1;
  32. while(j<=k && i-j>=0) {
  33. // i - j ---> i
  34. int option = dp[i-j] + abs(arr[i] - arr[i-j]);
  35. answer = min(answer, option);
  36. j++;
  37. }
  38. dp[i] = answer;
  39. }
  40.  
  41. cout << "Minimum Jumps : " << dp[n-1];
  42.  
  43. return 0;
  44. }
Success #stdin #stdout 0.01s 5280KB
stdin
4
10
500
80
20
2
stdout
Minimum Jumps : 130