题目链接: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;
}