fork download
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int main() {
  6. // your code goes here
  7.  
  8. int n;
  9. cin>> n;
  10.  
  11. vector<int> arr(n+1,0);
  12.  
  13. for(int i=1; i<=n; i++){
  14. cin>>arr[i];
  15. }
  16.  
  17. vector<int> dp(n,0);
  18.  
  19. dp[1] = arr[1];
  20. if(n==1) return arr[1];
  21.  
  22. dp[2] = arr[2];
  23. if(n==2) return max(arr[1], arr[2]);
  24.  
  25. dp[3] = arr[3] + arr[1];
  26. if(n==3)return max({arr[1], arr[2], arr[3], arr[1]+arr[3]});
  27.  
  28. int i=4;
  29.  
  30. while(i<=n){
  31.  
  32. dp[i] = max(arr[i]+dp[i-2], dp[i-1]);
  33.  
  34. i++;
  35. }
  36.  
  37. cout<< dp[n];
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 5304KB
stdin
5
2 4 6 7 8
stdout
16