70pts求助
查看原帖
70pts求助
251074
学习柯学楼主2023/9/8 21:23
#include<bits/stdc++.h>
using namespace std;
long long n, a[7000005], add[7000005], i, j, ans, hush_min[700020], hush_max[700020];
int main()
{
	memset(hush_min,8,sizeof(hush_min));
	memset(hush_max,-8,sizeof(hush_max));
	cin>>n;
	for(i=1;i<=n;i++)
	{
		cin>>a[i];
		if(a[i]==1)
		add[i]=add[i-1]+1;
		else add[i]=add[i-1]-1;
		hush_min[add[i]+100010]=min(hush_min[add[i]+100010],i);
		hush_max[add[i]+100010]=max(hush_max[add[i]+100010],i);
	}
	for(i=1;i<=n;i++)
	{
		ans=max(ans,hush_max[add[i]+100010]-hush_min[add[i]+100010]);
	}
	cout<<ans;
 	return 0;
}

2023/9/8 21:23
加载中...