#include <bits/stdc++.h>
using namespace std;

int tempo_massimo(int N, int a[], int b[]) {
  vector<array<int, 3>> dp(N + 1);
  dp[0] = {0, 0, 0};
  // dp[i][0] = no treno, dp[i][1] treno A, dp[i][2] treno B

  for (int i = 0; i < N; i++) {
    dp[i + 1][0] = max(dp[i][0], max(dp[i][1], dp[i][2]));
    dp[i + 1][1] = max(dp[i][0], max(dp[i][1], dp[i][2])) + a[i];
    dp[i + 1][2] = dp[i][0] + b[i];
  }

  return max(dp[N][0], max(dp[N][1], dp[N][2]));
}
