Nhân kỷ niệm ngày thành lập Đoàn, cô Tổng phụ trách tổ chức 1 trò chơi có thưởng cho các bạn lớp 9 như sau: có \(n\) ô vuông được vẽ thẳng hàng trên sân trường, các ô vuông được đánh số từ \(1,\ 2,\ \ldots,\ n\). Mỗi ô vuông \(i\ (1 \leq i \leq n)\) có giá trị năng lượng là \(h_{i}\). Một bạn học sinh đang ở ô vuông thứ \(i\), bạn ấy có thể nhảy tới ô vuông tiếp theo các cách:
+ Nếu bạn ở ô vuông thứ \(i\) thì bạn có thể nhảy đến ô vuông thứ tự \(i\ + \ 1,\ i\ + \ 2,\ \ldots,\ i\ + \ k\).
+ Chi phí năng lượng của bạn tiêu hao cho 1 lần nhảy là \(|h_{j}\ –\ h_{i}|\) với hj là ô vuông đích mà bạn nhảy tới.
Bạn học sinh nào di chuyển từ ô số 1 đến ô số \(n\) với chi phí năng lượng thấp nhất sẽ được cô thưởng 1 phần quà.
Yêu cầu: Hãy tìm chi phí thấp nhất để giúp các bạn học sinh nhảy từ ô vuông số 1 đến ô vuông thứ \(n\).
Dữ liệu vào:
+ Dòng đầu ghi 2 số \(n\) và \(k\) cách nhau một ký tự trắng: \(n\) là số ô vuông \((2 \leq n\ \leq 10^{5})\), K là số ô vuông tối đa bạn học sinh có thể nhảy qua \((1 \leq k \leq 100)\)
+ Dòng thứ hai chứa \(n\) giá trị \(h_{i}\ (1 \leq h_{i} \leq 10^{4})\), mỗi số cách nhau một ký tự trắng là chi phí năng lượng của ô vuông thứ \(i\) tương ứng.
Lưu ý: các giá trị là số nguyên.
Kết quả:
+ Ghi một số là tổng chi phí phát sinh tối thiểu.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
5 3 10 25 35 40 20 | 20 | Cách nhảy của bạn học sinh sẽ là \(1 \rightarrow 2 \rightarrow 5\). Tổng chi phí phát sinh sẽ là \(|25\ –\ 10|\ + \ |20\ –\ 25|\ = \ 20\) |
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |