fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. //You can make jumps of size - 1 or 3 or 5
  5.  
  6. int main() {
  7. vector<int> arr = {0, 5, 8, 3, 100, -5, -5, 5, 10};
  8. int n = arr.size();
  9.  
  10. vector<int> dp(n,0);
  11.  
  12. dp[1] = arr[1];
  13. dp[2] = arr[1] + arr[2];
  14. dp[3] = arr[1] + arr[2] + arr[3];
  15. dp[4] = max(dp[1] + arr[4], dp[3] + arr[4]);
  16. dp[5] = max(dp[4] + arr[5], dp[2] + arr[5]);
  17.  
  18. for(int i = 6; i <= n; i++){
  19. dp[i] = max(dp[i-1] + arr[i], max(dp[i-3] + arr[i] , dp[i-5] + arr[i]));
  20. }
  21.  
  22. cout << dp[n];
  23.  
  24.  
  25. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
131