hack超时求调
查看原帖
hack超时求调
766701
wzl1234567楼主2024/9/26 23:30
#include<iostream>
using namespace std;
int gr[100005]={0},by[100005]={0};
int main()
{
	int i,j,k,n,t1=0,t2=0,a,ans=-1,pos,endg,endb;
	cin >> n;
	for(i=1;i<=n;i++)
	{
		cin >> a;
		if(a==0)
		{
			gr[i]=gr[i-1]+1;by[i]=by[i-1];endg=i;
		}
		else
		{
			gr[i]=gr[i-1];by[i]=by[i-1]+1;endb=i;
		}
	}
	pos=0;
	for(i=0;i<=min(endg,endb);i++)
	{
		for(j=n;j>=pos;j--)
		{
			if(gr[j]-gr[i]==by[j]-by[i])
			{
				ans=max(ans,j-i);
				pos=j;
				break;
			}
		} 
	}
	if(ans==-1) ans=0;
	cout << ans;
	return 0;
} 
2024/9/26 23:30
加载中...