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