fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n;
  6. cin>>n;
  7. vector<int> arr(n+1,0);
  8. for(int i=1;i<=n;i++){
  9. int element;
  10. cin>>element;
  11. arr[i]=element;
  12. }
  13. vector<int> dp(n+1, 0);
  14. dp[1]=max(arr[1],0); //empty subset can be an answer
  15. dp[2]=max(max(arr[1], arr[2]), 0);
  16. for(int i=3;i<=n;i++){
  17. dp[i]=max(dp[i-1], arr[i]+dp[i-2]);
  18. }
  19. cout<<dp[n];
  20. return 0;
  21. }
Success #stdin #stdout 0s 5300KB
stdin
5
2 -3 5 -8 7
stdout
14