24pts求助
查看原帖
24pts求助
718060
蒋辰逸楼主2023/10/20 15:09

WA了好多个点,24pts

#include<bits/stdc++.h>
using namespace std;
int n,m,x;
int ans;
map<vector<int>,int>f;
int main(){
	cin>>n>>m;
	vector<int>a(m+7);
	f[a]=0;
	for(int i=1;i<=m;i++){
		a[i]=0;
	}
	for(int i=1;i<=n;i++){
		cin>>x;
		bool flag=1;
		for(int j=1;j<=m;j++){
			if(x&(1<<(i-1))){
				a[j]++;
			}
			if(a[j]<=0){
				flag=0;
			}
		}
		if(flag){
			for(int j=1;j<=m;j++){
				a[j]--;
			}
		}
		if(f.count(a)){
			ans=(i-f[a]>ans)?(i-f[a]):ans;
		}
		else{
			f[a]=i;
		}
	}
	cout<<ans;
	return 0;
}
2023/10/20 15:09
加载中...