https://vjudge.net/problem/CodeForces-1141B
#include<bits/stdc++.h> using namespace std; int main() { int n,cnt=0,maxn=0,c[400010]; cin>>n; for(int i=0; i<n; i++) { cin>>c[i]; c[i+n]=c[i]; //首尾相连 } for(int i=0; i<2*n; i++) { if(c[i]==1) { cnt++; maxn=max(maxn,cnt); //判断最大长度 } else cnt=0; //上升中断时,cnt要归零 } cout<<maxn<<endl; return 0; } //给出一堆数字,只有0和1,找连续为1的最大长度,注意给出的n个数据要首位相连