70求条TT
查看原帖
70求条TT
1683039
esuaa楼主2025/7/23 10:02
#include<bits/stdc++.h>

#define endl '\n'

using namespace std;

using ll=long long;

#define int ll

const int N = 1e5+8;
vector<int> qianz(N);
unordered_map<int,int> frt,edn;

void solve(){
	int n;
	cin>>n;
	
	for(int i=1;i<=n;i++){
		int u;
		cin>>u;
		if(u==1) qianz[i]=qianz[i-1]-1;
		else if(u==0) qianz[i]=qianz[i-1]+1;
	}
	
	for(int i=0;i<=n;i++){
		int o=qianz[i]+n;
		if(!frt[o]) frt[o]=i;
		edn[o]=i;
	}
	
	int ans=0;
	for(int i=0;i<2*n+3;i++){
		ans=max(ans,edn[i]-frt[i]);
	}
	cout<<ans;
	return;
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr), cout.tie(nullptr);
	
	solve();
	return 0;
} 

2025/7/23 10:02
加载中...