24分求调
查看原帖
24分求调
1047537
wuzhuoran楼主2024/8/7 15:58
#include<bits/stdc++.h>
using namespace std;

int n,t,h[200005];
int s(int cnt,int m){
	 map<int,int> mp;
	for(int i=1; i<=n; i++){
		if(h[i]==h[i+1]&&i!=n){
			if(mp[h[i]]==0){
				cnt++;
				if(m!=h[i])
				cout<<h[i]<<' ';
				else
				cout<<h[i];
				mp[h[i]]=1;
			}
		}
		else if(i!=n-1&&h[i]==h[i+2]){
			if(mp[h[i]]==0){
				cnt++;
				if(m!=h[i])
				cout<<h[i]<<' ';
				else
				cout<<h[i];
				mp[h[i]]=1;
			}
		}
	}
	return cnt;
}

int main(){
	cin>>t;
	while(t--){
		cin>>n;
		int m=0;
		for(int i=1; i<=n; i++){
			cin>>h[i];
			m=max(m,h[i]);
		}
		if(s(0,m)==0){
			cout<<-1;
		}
		cout<<endl;
	}
    return 0;
}

2024/8/7 15:58
加载中...