#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
int a[400008];
int ans,n,max;
while(cin>>n)
{
ans=0;
max=-999;
for(int i=1,j=n+1;i<=n;i++,j++)
cin>>a[i],a[j]=a[i];
for(int i=1;i<=2*n;i++)
{
if(a[i]==1)
{
ans++;
}
if(a[i]==0)
{
if(max<ans)
max=ans;
ans=0;
}
}
cout<<max<<endl;
}
//cout << "Hello world!" << endl;
return 0;
}
///
///
#include<cstdio>
#include<algorithm>
#include<cctype>
#include<cstring>
#include<iostream>
#include<cmath>
#define LL long long
#define N (400005)
using namespace std;
int n,m,tt,tot,ans,cnt;
int a[N];
template <typename T> void read(T&t) {
t=0;
bool fl=true;
char p=getchar();
while (!isdigit(p)) {
if (p=='-') fl=false;
p=getchar();
}
do {
(t*=10)+=p-48;p=getchar();
}while (isdigit(p));
if (!fl) t=-t;
}
int main(){
read(n);
for (int i=1;i<=n;i++) read(a[i]);
for (int i=1;i<n;i++) a[i+n]=a[i];
for (int i=1;i<2*n;i++){
if (a[i]==1) cnt++;
else ans=max(ans,cnt),cnt=0;
}
ans=max(ans,cnt);
printf("%d",ans);
return 0;
}
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
int main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.setf(ios::fixed); cout.precision(20);
#ifdef LOCAL
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int n;
cin >> n;
string s;
for (int i = 0; i < n; ++i) {
char c;
cin >> c;
s += c;
}
s += s;
int ans = 0;
int cnt = 0;
for (int i = 0; i < (int)s.size(); ++i) {
if (s[i] == '1') {
++cnt;
ans = max(ans, cnt);
}
else {
cnt = 0;
}
}
cout << ans << '\n';
}
模板
int read()
{
int nm = 0, f = 1;
char c = getchar();
for(; !isdigit(c); c = getchar()) if(c == '-') f = -1;
for(; isdigit(c); c = getchar()) nm = nm * 10 + c - '0';
return nm * f;
}
//long long的话只需要将下面里面所有的int改成long long就行
//实际应用时x=read();即可读出x
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}