fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. using namespace std;
  4.  
  5. int main() {
  6. int n, m;
  7. cin >> n >> m;
  8. int distance[5];
  9. for (int i = 0; i < n; i++) {
  10. cin >> distance[i];
  11. }
  12. int dp[5];
  13. int pre[5];
  14. dp[0] = 0;
  15. pre[0] = distance[0];
  16. //dp[1] = distance[0];
  17. //pre[1] = distance[0];
  18. for (int i = 1; i < n; i++) {
  19. pre[i] = pre[i - 1] + distance[i];
  20. dp[i] = 0;
  21. }
  22. dp[1] = distance[0];
  23. for (int i = 2; i < n; i++) {
  24. for (int k = 1; k <= m; k++) {
  25. if(i - 2*k < 0)
  26. continue;
  27. int temp = max(dp[i - 2 * k] + pre[i - k] - pre[i - 2 * k], dp[i - 1]);
  28. dp[i] = max(temp, dp[i]);
  29. }
  30. }
  31. cout << dp[n - 1] << endl;
  32. }
Success #stdin #stdout 0s 4484KB
stdin
5 2
5
3
4
2
10
stdout
9