7 solutions

  • 0
    @ 2024-4-27 11:39:58
    #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