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), brr(n+1, 0);
  12.  
  13. for(int i=1; i<=n; i++){
  14. cin>>arr[i];
  15. }
  16. for(int i=1; i<=n; i++){
  17. cin>>brr[i];
  18. }
  19.  
  20. vector<int> dp(n,0);
  21.  
  22. dp[1] = max(arr[1], brr[1]);
  23. if(n==1) return dp[1];
  24.  
  25. dp[2] = max(arr[2], brr[2]);
  26. if(n==2) return max(dp[1], dp[2]);
  27.  
  28. dp[3] = max({dp[1], dp[2], dp[1]+arr[3], dp[1] + brr[3]});
  29.  
  30. int i=4;
  31.  
  32. while(i<=n){
  33.  
  34. dp[i] = max({arr[i]+dp[i-2], brr[i]+dp[i-2], dp[i-1], dp[i-2]});
  35.  
  36. i++;
  37. }
  38.  
  39. cout<< dp[n];
  40.  
  41. return 0;
  42. }
Success #stdin #stdout 0s 5320KB
stdin
4
1 5 3 21234
-4509 200 3 40
stdout
21434