70分TLE求调
查看原帖
70分TLE求调
918114
haozige楼主2024/4/10 20:04

rt

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5; 
int a[N],s[N];
int main(){
	int n;
	cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++){
    	s[i]=s[i-1]+a[i];
    	//cout<<"下标为"<<i<<",它的前缀和是"<<s[i]<<endl;
	}
    int ans=0;
	for(int i=1;i<=n;i++){
		for(int j=0;j<=i;j++){
			int x=s[i]-s[j];
			int lon=i-j;
			//cout<<"开头为"<<j<<",结尾为"<<i<<",差值为"<<x<<",长度为"<<lon<<endl; 
			if(ans<lon&&x*2==lon) {
				ans=lon;
				//cout<<"ans被切换,变为"<<lon<<endl;
			}
			//cout<<"ans现在为"<<ans<<endl;
		}
	}
	cout<<ans;
	return 0;
}
2024/4/10 20:04
加载中...