fork download
  1. nums = [5, 8, 3, 100, -5, -5, 5, 10]
  2. n = 8
  3.  
  4. dp = {}
  5.  
  6. dp[0] = nums[0]
  7. dp[1] = nums[1]+nums[0]
  8.  
  9. for i in range(2,n):
  10. if(i-3<0):
  11. dp[i] = max(nums[i]+dp[i-1], max(nums[i]+dp[i-2],nums[i]+0))
  12. else:
  13. dp[i] = max(nums[i]+dp[i-1], max(nums[i]+dp[i-2],nums[i]+dp[i-3]))
  14.  
  15. print(dp)
Success #stdin #stdout 0.04s 9556KB
stdin
Standard input is empty
stdout
{0: 5, 1: 13, 2: 16, 3: 116, 4: 111, 5: 111, 6: 121, 7: 131}