一半TLE一半AC,无其他结果,求助
查看原帖
一半TLE一半AC,无其他结果,求助
752792
int__main楼主2023/6/30 14:35

如题

有可能是因为O(n^2)的时间复杂度,但是身为蒟蒻的我已经想不出其它方法了(悲)

#include<cstdio>
int people,sum,maxlen=0;
int gender[100010];
int main(){
	scanf("%d",&people);
	for(int i=1;i<=people;i++)
		scanf("%d",&gender[i]);
	for(int j=1;j<=people;j++){
		for(int k=j;k<=people;k++){
			if((k-j+1)%2==1){continue;}
			for(int l=j;l<=k;l++){sum+=gender[l];}
			if(sum*2==k-j+1){
				if(k-j+1>maxlen)
					maxlen=k-j+1;
			}
			sum=0;
		}
	}
	printf("%d",maxlen);
	return 0;
}

有没有一些更好的算法,哪位大佬分享一下

2023/6/30 14:35
加载中...