为啥差三个点?
查看原帖
为啥差三个点?
221522
张睿洲Richard楼主2021/7/25 11:01

https://www.luogu.com.cn/record/54129601

#include<bits/stdc++.h>
using namespace std;
long long n,a[100010],ans,sum=0;
int main(){
	cin>>n;
	for(long long i=1;i<=n;i++){
		cin>>a[i];
		sum+=a[i];
		a[i]+=a[i-1];
	}
	if(sum==0||sum==n){
		cout<<0<<endl;
		return 0;
	}
	for(long long i=1;i<=n;i++){
		if(n-i+1<=ans)break;
		for(long long j=n;j>=i;j--){
			if(j-i+1<=ans)break;
			if(2*(a[j]-a[i])==(j-i))ans=max(ans,j-i);
		}
	}
	cout<<ans<<endl;
	return 0;
}

WA{\color{red}WA} 没有TLE{\color{Black}TLE}

2021/7/25 11:01
加载中...