100分,求条
查看原帖
100分,求条
780470
___DIO楼主2024/12/4 19:25
#include<iostream>
#include<cmath>
#include<vector>
#include<cstdio>
#include<algorithm>
#include<bitset>
#include<queue>
using namespace std;
long long n,ans;
double getSum(long long left,long long right,long long preSum[]) {
	return preSum[right]-preSum[left-1];
}
int main() {
	cin.tie(0);
	cout.tie(0);
	cin>>n;
	long long people[n+1];
	long long preSum[n+1];
	people[0]=0;
	preSum[0]=0;
	for(int i=1; i<=n; i++) {
		cin>>people[i];
		preSum[i]=preSum[i-1]+people[i];
	}
	if( getSum(1,n,preSum) ==double(n) or getSum(1,n,preSum) ==0){
		cout<<0<<endl;
		return 0;
	}
	for(long long i=1; i<=n; i++) {
		for(long long j=i+ans+1; j<=n; j++) {
			if(getSum(i,j,preSum)==double(j-i+1)/2) {
				ans=max(ans,(j-i+1));
			}
		}
	}
	cout<<ans<<endl; 
	return 0;
}

2024/12/4 19:25
加载中...