fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n, k;
  6. cin >> n >> k;
  7. int stairs[n + 1]; int time[n + 1]; // массивы для времени каждого мероприятия и потраченного времени;
  8. for(int i = 1; i < n + 1; ++i) {
  9. cin >> stairs[i];
  10. if (i <= k + 1) time[i] = stairs[i];
  11. }
  12. time[0] = 0;
  13. for(int i = 2; i <= n; ++i) {
  14. if (i > k + 1) time[i] = time[i - 1] + stairs[i]; //начальный минимум;
  15. for(int j = 2; j <= k+1; ++j) {
  16. if (i - j >= 0) time[i] = min(time[i - j] + stairs[i], time[i]); // выбор минимально затраченного времени;
  17. }
  18. }
  19. cout << time[n];
  20. }
Success #stdin #stdout 0s 4252KB
stdin
5 2
7 3 9 2 11
stdout
14