关于 ABC D,求调或否掉
  • 板块学术版
  • 楼主Zskioaert1106
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/22 21:50
  • 上次更新2024/11/22 21:52:01
查看原帖
关于 ABC D,求调或否掉
1072502
Zskioaert1106楼主2024/11/22 21:50

rt,一直有两个点跳不出来,求调(全盘打似也行)。

#include<bits/stdc++.h>
using namespace std;
int n,a[200005],ans,sum;
map<int,bool>p;
int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=2;i<=n;i+=2){
		if(a[i]!=a[i-1]){
			ans=max(ans,sum*2);
			p.clear();
			sum=0;
		}
		else{
			if(p.count(a[i])){
				ans=max(ans,sum*2);
				sum=0;
				p.clear();
			}
			p[a[i]]=1;
			sum++;
		}
	}ans=max(ans,sum*2);
	p.clear();
	sum=0;
	for(int i=3;i<=n;i+=2){
		if(a[i]!=a[i-1]){
			ans=max(ans,sum*2);
			p.clear();
			sum=0;
		}
		else{
			if(p.count(a[i])){
				ans=max(ans,sum*2);
				sum=0;
				p.clear();
			}
			p[a[i]]=1;
			sum++;
		}
	}ans=max(ans,sum*2);
	cout<<ans<<endl;
	return 0;
}
2024/11/22 21:50
加载中...