#include <bits/stdc++.h>
#define ll long long int
#define pb push_back
#define mp make_pair
#define ff first
#define ss second
#define vi vector<int>
#define br cout <<"\n";
#define all(x) (x).begin(),(x).end()
#define tr(c,i) for(auto i :c)
#define pii pair< int,int >
#define fast_io() ios_base::sync_with_stdio(false);cin.tie(nullptr)
#define pq priority_queue< pair<ll,pii> ,vector<pair<ll,pii>>,greater <pair<ll,pii>> >p;//container adapter makes ascending q
#define er(x) cout << x << " "
#define err(x,y) cout << x << " "<<y
const int M = 200005;
using namespace std;
using namespace std;
int main() {
int n; cin >> n ;
int a[2*n];
for (int i= 0 ; i <n ; ++ i )
{
cin >>a[i];
a[i+n]=a[i];
}
int cs=0 , ms=0;
for (int i= 0 ; i < n*2 ; ++ i )
{
if (a[i])
cs+=a[i];
else
cs = 0 ;
ms=max(cs , ms );
}
er(ms);
return 0;
}
ICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIGxsICBsb25nIGxvbmcgaW50CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgZmYgZmlyc3QKI2RlZmluZSBzcyBzZWNvbmQKI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIGJyIGNvdXQgPDwiXG4iOwojZGVmaW5lIGFsbCh4KSAgKHgpLmJlZ2luKCksKHgpLmVuZCgpCiNkZWZpbmUgdHIoYyxpKSBmb3IoYXV0byBpIDpjKQojZGVmaW5lIHBpaSBwYWlyPCBpbnQsaW50ID4KI2RlZmluZSBmYXN0X2lvKCkgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZShudWxscHRyKQojZGVmaW5lIHBxIHByaW9yaXR5X3F1ZXVlPCBwYWlyPGxsLHBpaT4gLHZlY3RvcjxwYWlyPGxsLHBpaT4+LGdyZWF0ZXIgPHBhaXI8bGwscGlpPj4gPnA7Ly9jb250YWluZXIgYWRhcHRlciBtYWtlcyBhc2NlbmRpbmcgcQojZGVmaW5lIGVyKHgpIGNvdXQgPDwgeCA8PCAiICIKI2RlZmluZSBlcnIoeCx5KSBjb3V0IDw8IHggPDwgIiAiPDx5CmNvbnN0IGludCBNID0gMjAwMDA1Owp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CmludCBuOyBjaW4gPj4gbiA7IAppbnQgYVsyKm5dOyAKZm9yIChpbnQgaT0gMCA7IGkgPG4gOyArKyBpICkKewoJY2luID4+YVtpXTsKCWFbaStuXT1hW2ldOyAKfQoKaW50IGNzPTAgLCBtcz0wOyAgCmZvciAoaW50IGk9IDAgOyBpIDwgbioyIDsgKysgaSApCnsKCWlmIChhW2ldKQoJCWNzKz1hW2ldOwoJZWxzZSAKCWNzID0gMCA7IAoJCgltcz1tYXgoY3MgLCBtcyApOyAKCQp9CgkKZXIobXMpOwoJcmV0dXJuIDA7Cn0=