Gửi bài giải
Điểm:
5,00
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C++
Có ~N~ hòn đá được đánh số ~1, 2, 3, ..., N~. Với mỗi ~i (1 \le i \le N)~, chiều cao của hòn đá thứ ~i~ là ~h_i~
Có một con ếch ban đầu ở hòn đá ~1~. Nó lặp lại hành động sau với một số lần bất kì cho đến khi nó đến được hòn đá ~N~.
= Nếu con ếch đang ở hòn đá ~i~, thì nó có thể nhảy sang hòn đá thứ ~i + 1~ hoặc ~i + 2~ hoặc ... hoặc ~i + K~ vơi chi phí là ~|h_i - h_j|~, trong đó ~j~ là vị trí nó muốn nhảy tới
Yêu cầu
Tìm chi phí tối thiểu để nó đến được hòn đá thứ ~N~
Input
- Dòng thứ nhất chứa hai số nguyên ~N, K (2 \le N \le 10^5, 1 \le K \le 100)~
- Dòng thứ hai chứa ~N~ số nguyên : ~h_1, h_2, ..., h_N~ với ~1 \le h_i \le 10^4~
Output
- In ra chi phí tối thiểu cần tìm
Scoring
- Không có giới hạn gì thêm
Ví dụ
Input
5 3
10 30 40 50 20
Output
30
Giải thích ví dụ
- Con ếch nhảy như sau: ~1->2->5~ với chi phí là ~|10-30|+|30-20|=30~
Bình luận