题目链接:https://codeforces.com/contest/1141/problem/B
题意是首尾相连,问最多有多少个1相连。
思路就是将原数组在后面复制一下,直接跑一遍就好了
AC代码:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n,m;
int pre[400005];
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&pre[i]);
pre[i+n] = pre[i];
}
n *= 2;
int cnt = 0;
int ans = 0;
for(int i=0;i<n;i++){
if(pre[i] == 1) cnt ++;
else{
ans = max(ans, cnt);
cnt = 0;
}
}
cout<<ans<<endl;
return 0;
}