public class Main {
public static void main
(String[] args
) { int n = 6;
long k = 3;
long[] b = {0, 10, 30, 20, 50, 40, 60};
long[] dp = new long[n + 1];
for (int i = 1; i <= n; i++) {
}
dp[1] = 0;
dp
[2] = Math.
abs(b
[1] - b
[2]);
for (int i = 3; i <= n; i++) {
for (int j = 1; j <= k && i - j >= 1; j++) {
dp
[i
] = Math.
min(dp
[i
], dp
[i
- j
] + Math.
abs(b
[i
] - b
[i
- j
])); }
}
System.
out.
println("Minimum cost to reach last step: " + dp
[n
]); }
}
cHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIGludCBuID0gNjsKICAgICAgICBsb25nIGsgPSAzOwogICAgICAgIGxvbmdbXSBiID0gezAsIDEwLCAzMCwgMjAsIDUwLCA0MCwgNjB9OyAKCiAgICAgICAgbG9uZ1tdIGRwID0gbmV3IGxvbmdbbiArIDFdOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgICAgICBkcFtpXSA9IExvbmcuTUFYX1ZBTFVFOwogICAgICAgIH0KCiAgICAgICAgZHBbMV0gPSAwOwogICAgICAgIGRwWzJdID0gTWF0aC5hYnMoYlsxXSAtIGJbMl0pOwoKICAgICAgICBmb3IgKGludCBpID0gMzsgaSA8PSBuOyBpKyspIHsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPD0gayAmJiBpIC0gaiA+PSAxOyBqKyspIHsKICAgICAgICAgICAgICAgIGRwW2ldID0gTWF0aC5taW4oZHBbaV0sIGRwW2kgLSBqXSArIE1hdGguYWJzKGJbaV0gLSBiW2kgLSBqXSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk1pbmltdW0gY29zdCB0byByZWFjaCBsYXN0IHN0ZXA6ICIgKyBkcFtuXSk7CiAgICB9Cn0K