fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4.  
  5. ll ms(vector<ll>& a) {
  6. ll n = a.size();
  7. if(n==0)return 0;
  8.  
  9. if(n==1){
  10. return max(a[0],0LL);
  11.  
  12. }
  13.  
  14. ll dp[n];
  15. dp[0]=max(a[0],0LL);
  16.  
  17. dp[1]=max(a[1],dp[0]);
  18.  
  19. for(ll i=2;i<n;i++)
  20. dp[i]=max(a[i]+dp[i-2],dp[i-1]);
  21. return dp[n-1];
  22. }
  23.  
  24. int main() {
  25. ll n;
  26. cin>>n;
  27. vector<ll> a(n);
  28. for(ll i=0;i<n;i++)cin>>a[i];
  29. cout<<ms(a)<<endl;
  30. return 0;
  31. }
  32.  
Success #stdin #stdout 0.01s 5284KB
stdin
5
2 4 6 7 8
stdout
16