80分求调
查看原帖
80分求调
993389
huangwei14楼主2024/7/21 19:45
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int l[N],r[N],cnt[N];
int main(){
	int n;
	cin>>n;
	int op,sumg=0,sumb=0,mx=0;
	for(int i=1;i<=n;i++){
		cin>>op;
		if(op==0){
			sumg++;
		}else{
			sumb++;
		}
		cnt[i]=abs(sumb-sumg);
		mx=max(mx,cnt[i]);
		if(l[cnt[i]]==0){
			l[cnt[i]]=i;
		}
		r[cnt[i]]=max(i,r[cnt[i]]);
	}
	int ans=0;
	for(int i=0;i<=mx;i++){
		ans=max(ans,r[i]-l[i]);
	}
	cout<<ans;
	return 0;
}
2024/7/21 19:45
加载中...