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[n];
  9. for (int i = 0; i < n; i++) {
  10. cin >> distance[i];
  11. }
  12. int dp[n];
  13. int pre[n];
  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. }
  21. for (int i = 2; i < n; i++) {
  22. for (int k = 1; k <= m; k++) {
  23. int temp = max(dp[i - 2 * k] + pre[i - k] - pre[i - 2 * k], dp[i - 1]);
  24. dp[i] = max(temp, dp[i]);
  25. }
  26. }
  27. cout << dp[n - 1] << endl;
  28. }
Success #stdin #stdout 0s 4544KB
stdin
5 2
5
3
4
2
10
stdout
521383920