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

int tempo_massimo(int N, int a[], int b[]){
	long long s = max(a[0], b[0]);
	vector<int> somme;
	vector <int> preso; // 0 niente, 1 a, 2 b
	somme.push_back(0);
	
	for(int i = 0; i < N; i++){
		preso.push_back(0);
		if(i == N - 1) somme[i + 1] = a[i];
		else somme[i + 1] = a[i] + a[i+1];
	}
	for(int i = 1; i < N; i++){
		if(somme[i] < b[i] && b[i] >= b[i +1] && b[i] > a[i] && b[i] > a[i + 1] && preso[i] == 0){
			preso[i + 1] = 2;
			s += b[i];
		}else if(preso[i] != 2 && b [i + 1] < (a[i] + a[i +1])){
		 	s+= a[i];
			preso[i + 1] = 1;
		}
	}
	
    return s;
}

