#include <iostream>
#include <climits>
using namespace std;
int maxsubsum(int a[],int low, int high)
{
int m,leftmss,rightmss;
if(low==high)
{
return a[low];
}
else
{
m= (low+high)/2;
leftmss=maxsubsum(a,low,m);
rightmss=maxsubsum(a,m+1,high);
}
int leftsum=INT_MIN,rightsum=INT_MIN,sum=0;
for(int i=m+1; i<=high; i++)
{
sum+=a[i];
rightsum=max(rightsum,sum);
}
sum=0;
for(int i=m; i>=low; i--)
{
sum+=a[i];
leftsum=max(leftsum,sum);
}
int ans=max(leftmss,rightmss);
return max(ans,(leftsum+rightsum));
}
int main()
{
ios_base::sync_with_stdio(false);
int n;
cin>>n;
int a[n];
int b,counter=0;
for(int i=0; i<n; i++)
{
cin>>b;
if(b==0)
{
a[i]=1;
}
else
{
counter++;
a[i]=-1;
}
}
cout<<counter+maxsubsum(a,0,n-1);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2xpbWl0cz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAppbnQgbWF4c3Vic3VtKGludCBhW10saW50IGxvdywgaW50IGhpZ2gpCnsKICAgIGludCBtLGxlZnRtc3MscmlnaHRtc3M7CiAgICAKICAgIGlmKGxvdz09aGlnaCkKICAgIHsKICAgICAgICByZXR1cm4gYVtsb3ddOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIG09IChsb3craGlnaCkvMjsKICAgICAgICBsZWZ0bXNzPW1heHN1YnN1bShhLGxvdyxtKTsKICAgICAgICByaWdodG1zcz1tYXhzdWJzdW0oYSxtKzEsaGlnaCk7CiAgICB9CiAgICBpbnQgbGVmdHN1bT1JTlRfTUlOLHJpZ2h0c3VtPUlOVF9NSU4sc3VtPTA7CiAgICBmb3IoaW50IGk9bSsxOyBpPD1oaWdoOyBpKyspCiAgICB7CiAgICAgICAgc3VtKz1hW2ldOwogICAgICAgIHJpZ2h0c3VtPW1heChyaWdodHN1bSxzdW0pOwogICAgfQogICAgc3VtPTA7CiAgICBmb3IoaW50IGk9bTsgaT49bG93OyBpLS0pCiAgICB7CiAgICAgICAgc3VtKz1hW2ldOwogICAgICAgIGxlZnRzdW09bWF4KGxlZnRzdW0sc3VtKTsKICAgIH0KICAgIGludCBhbnM9bWF4KGxlZnRtc3MscmlnaHRtc3MpOwogICAgcmV0dXJuIG1heChhbnMsKGxlZnRzdW0rcmlnaHRzdW0pKTsKfQogCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKICAgIGludCBhW25dOwogICAgaW50IGIsY291bnRlcj0wOwogICAgZm9yKGludCBpPTA7IGk8bjsgaSsrKQogICAgewogICAgICAgIGNpbj4+YjsKICAgICAgICBpZihiPT0wKQogICAgICAgIHsKICAgICAgICAgICAgYVtpXT0xOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBjb3VudGVyKys7CiAgICAgICAgICAgIGFbaV09LTE7CiAgICAgICAgfQogICAgfQogICAgY291dDw8Y291bnRlcittYXhzdWJzdW0oYSwwLG4tMSk7Cn0=