7 solutions
-
0
#include<bits/stdc++.h> using namespace std; const int N=100010; int a[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } int maxv=0; for(int i=1;i<=n;i++) { int j=i; while(j<=n&&a[i]==a[j]) j++; //j是第一个和a[i]不同的位置 j--; //回到和a[i]相等的最后一个位置 int len=j-i+1; //计算长度 maxv=max(maxv,len); //更新最长的一段 i=j; //移动到最后一个和a[i]相等的位置 } cout<<maxv; return 0; }
Information
- ID
- 900
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 176
- Accepted
- 43
- Uploaded By