比赛 2025.9.13 评测结果 AAAAAAAAAAAAAAAAAA
题目名称 The Best Lineup 最终得分 100
用户昵称 hsl_beat 运行时间 4.452 s
代码语言 C++ 内存使用 5.19 MiB
提交时间 2025-09-13 11:44:43
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
bool cmp(const pair<int, int> &x, const pair<int, int> &y)
{
	if (x.first == y.first) {
		return x.second < y.second;
	}
	return x.first > y.first;
}
void solve()
{
	int n;
	cin >> n;
	vector<pair<int, int>> a(n);
	for (int i = 0; i < n; i++) {
		cin >> a[i].first;
		a[i].second = i;
	}
	int tp1 = -1, tp2 = -1, flag = 0;
	sort(a.begin(), a.end(), cmp);
	for (int i = 0; i < n; i++){
		if (a[i].second > tp1) {
			tp2 = tp1;				
			tp1 = a[i].second;
			cout << a[i].first << ' ';
		} else if (flag == 0 && a[i].second > tp2) {
			flag = 1;
			tp1 = a[i].second;
			cout << a[i].first << ' ';
		}
	}
	cout << '\n';
}
signed main()
{
    freopen("Lineup.in", "r", stdin);
    freopen("Lineup.out", "w", stdout);
	int T;
	cin >> T;
	while (T--) {
		solve();
	}
	return 0;
}