题目大意
找出连续为1的个数(注意第一个样例
Input
5
1 0 1 0 1
Output
2
Input
6
0 1 0 1 1 0
Output
2
Input
7
1 0 1 1 1 0 1
Output
3
Input
3
0 0 0
Output
0
解题思路
由于第一个样例可想而得,可以把那串数字重复一下,从而看看首尾是不是都是1
代码如下
#include<iostream>
using namespace std;
const int maxn=4e5+10;
int a[maxn];
int main()
{
int n,i,ans=0,sum=1;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
a[i+n]=a[i];
}
for(i=0;i<2*n-1;i++)
{
if(a[i]==1&&a[i+1]==1)
sum++;
if(a[i]==1&&a[i+1]!=1)
{
ans=max(ans,sum);
sum=1;
}
}
cout<<ans<<endl;
return 0;
}