比赛 2025.9.13 评测结果 AAAAAAAAAAAAAAAAAA
题目名称 The Best Lineup 最终得分 100
用户昵称 李奇文 运行时间 2.485 s
代码语言 C++ 内存使用 4.58 MiB
提交时间 2025-09-13 11:59:03
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n;
struct cow{
	int num;
	int wei;
} a[200005]; 
bool cmp(cow x,cow y){
	if (x.num==y.num) return x.wei<y.wei;
	else return x.num>y.num; 
}
int main(){
	freopen("Lineup.in","r",stdin);
	freopen("Lineup.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	int t;
	cin>>t;
while(t--){
		cin>>n;
	for (int i=1;i<=n;i++){
		cin>>a[i].num;
		a[i].wei=i;
	}
	sort(a+1,a+1+n,cmp);
	int prepr=0,prer=0,nowl=0;
	for (int i=1;i<=n;i++){
		if (a[i].wei>a[prer].wei){
			prepr=prer;
			prer=i;
		}
		if (a[prepr].wei<a[i].wei && a[i].wei<a[prer].wei){
			a[prer].wei=a[prepr].wei;
			break;
		}
	}
	int pre=-1,prew=0;
	for (int i=1;i<=n;i++){
		if (a[i].wei>=prew){
			if (pre!=-1)cout<<pre<<" ";
			prew=a[i].wei;
			pre=a[i].num;
		}
	}
	cout<<pre<<"\n";
}
	return 0;
}