Gửi bài giải
Điểm:
0,30 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Problem type
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Tí muốn vượt qua một con suối bằng cách nhảy từ viên đá này sang viên đá khác. Trước mặt Tí là một hàng ~n~ viên đá, mỗi viên đá thứ ~i~ có độ cao là ~h_i~.
Tí bắt đầu từ viên đá đầu tiên. Tại mỗi viên đá thứ ~i~, Tí có thể chọn nhảy tới một trong ~k~ viên đá tiếp theo: ~i + 1~, ~i + 2~, ..., ~i + k~. Mỗi cú nhảy từ viên đá ~i~ sang viên đá ~j~ có một chi phí được tính bằng ~|h_i - h_j|~, với ~j~ là viên đá mà Tí đáp xuống.
Nhiệm vụ của bạn là giúp Tí tìm con đường có tổng chi phí ít nhất để vượt qua suối và đến được viên đá thứ ~n~.
Input
Dòng đầu tiên gồm hai số nguyên ~n~ và ~k~, trong đó:
- ~n~ là số lượng viên đá ~(1 \leq n \leq 10^5)~.
- ~k~ là số viên đá mà Tí có thể nhảy tới trong một lần ~(1 \leq k \leq 100)~.
Dòng thứ hai chứa ~n~ số nguyên, trong đó số thứ ~i~ là chiều cao ~h_i~ của viên đá thứ ~i~ ~(1 \leq h_i \leq 10^4)~.
Output
- In ra một số nguyên duy nhất là chi phí nhỏ nhất để Tí có thể tới được viên đá thứ ~n~.
Sample Test
Input 1
5 3
10 30 40 50 20
Output 1
30
Input 2
3 1
10 20 10
Output 2
20
Bình luận