玄学问题
查看原帖
玄学问题
431956
_k_e_v_i_n_楼主2022/8/30 22:19
#include<bits/stdc++.h>
using namespace std;
int n,a[100001],sum[100001],ans; 
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		sum[i]=sum[i-1]+(a[i]==0?-1:a[i]);
	}
	for(int i=1;i<=n;i++){
		for(int j=i+ans;j<=n;j++){
			if(sum[j]-sum[i-1]==0){
				ans=max(ans,j-i+1);
			}
		}
	}
	cout<<ans;
	return 0;
}

谁能告诉我我是咋过的,这应该是 O(n2)O(n^2) 的算法吧。

2022/8/30 22:19
加载中...