70pts WA求调
查看原帖
70pts WA求调
578004
02Ljh楼主2022/5/31 17:06
#include <bits/stdc++.h>
using namespace std;
int pe[114514];
//priority_queue <int> q;
int top;
int main()
{
    int n;
	top=-2;
	cin>>n;
	int a,last=19,num=0;
	for(int i=0;i<n;i++)
	{
		cin>>a;
		if(a==last)
		{
			num++;
		}
		else
		{
			last=a;
			pe[++top]=num+1;
			num=0;
		}
	}
	if(num==0) pe[++top]=1;
    else pe[++top]=num+1;
    if(top%2==1) pe[++top]=0;
	int ans=0,sum=0;
	//for(int i=0;i<=top;i++) cout<<pe[i]<<" ";
	//cout<<endl;
	for(int i=0;i<=top;i++) 
	{
        int lx=0,nu_in=0,lx_=0;
        ans=0;
		for(int j=i;j<=top;j++)
		{
			lx+=pe[j];
			lx_-=pe[j];
            nu_in+=pe[j];
            if(lx==0||lx_==0) ans=max(ans,nu_in);
            lx-=pe[++j];
			lx_+=pe[j];
            nu_in+=pe[j];
            if(lx==0||lx_==0) ans=max(ans,nu_in);
		}
		//cout<<i<<ans<<endl;
		sum=max(ans,sum);
	}
	cout<<sum; 
    return 0;
}
//problevmprovidercreep
2022/5/31 17:06
加载中...