#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int a[N],n,i,j;
long long f[N][5],x;
int main(){
	scanf("%d",&n);
	f[0][1]=f[0][2]=f[0][3]=f[0][4]=1ll<<60;
	for(i=1;i<=n;++i){
		scanf("%d",a+i);
		f[i][0]=f[i-1][0]+a[i];
		f[i][1]=min(f[i-1][0],f[i-1][1])+(a[i]?a[i]%2:2);
		f[i][2]=min(f[i-1][0],min(f[i-1][1],f[i-1][2]))+1-a[i]%2;
		f[i][3]=min(min(f[i-1][0],f[i-1][1]),min(f[i-1][2],f[i-1][3]))+(a[i]?a[i]%2:2);
		f[i][4]=min(min(min(f[i-1][0],f[i-1][1]),min(f[i-1][2],f[i-1][3])),f[i-1][4])+a[i];
	}
	x=1ll<<60;
	for(j=0;j<5;++j)x=min(x,f[n][j]);
	cout<<x<<endl;
	return 0;
}