#include<stdio.h>
#include<string.h>
#include<math.h>
int main(void)
{
	int a,s[5001],d,f,g,h[5001],i,j;
	f=0;
	scanf("%d",&a);
	for(i=0;i<a;i++){
		scanf("%d",&s[i]);
		h[i]=s[i];
	}
	d=4;
	while(1){
		d--;
		if(d==0) break;
		for(i=1;i<a-1;i++){
			if(s[i]==d){
				if(i==1){
					if(s[i+1]>0){
						s[i]--;
						s[i+1]--;
						f+=2;
					}
					else{
						s[i]--;
						s[i-1]--;
						f+=2;
					}
				}
				else if(i==a-2){
					if(s[i-1]>0){
						s[i]--;
						s[i-1]--;
						f+=2;
					}
					else{
						s[i]--;
						s[i+1]--;
						f+=2;
					}
				}
				else{
					if(s[i-1]>s[i+1]){
						s[i]--;
						s[i-1]--;
						f+=2;
					}
					else{
						s[i]--;
						s[i+1]--;
						f+=2;
					}
				}
			}
		}
	}
	if(s[0]>0) f+=s[0];
	if(s[a-1]>0) f+=s[a-1];
	g=0;
	d=4;
	for(i=0;i<a;i++) s[i]=h[i];
	while(1){
		d--;
		if(d==0) break;
		for(i=a-2;i>0;i--){
			if(s[i]==d){
				if(i==1){
					if(s[i+1]>0){
						s[i]--;
						s[i+1]--;
						g+=2;
					}
					else{
						s[i]--;
						s[i-1]--;
						g+=2;
					}
				}
				else if(i==a-2){
					if(s[i-1]>0){
						s[i]--;
						s[i-1]--;
						g+=2;
					}
					else{
						s[i]--;
						s[i+1]--;
						g+=2;
					}
				}
				else{
					if(s[i-1]>s[i+1]){
						s[i]--;
						s[i-1]--;
						g+=2;
					}
					else{
						s[i]--;
						s[i+1]--;
						g+=2;
					}
				}
			}
		}
	}
	if(s[0]>0) g+=s[0];
	if(s[a-1]>0) g+=s[a-1];
	if(g<f) f=g;
	printf("%d\n",f);
	return 0;
}