比赛 2025.9.13 评测结果 AAAAAAAAAAAAAAAAAA
题目名称 The Best Lineup 最终得分 100
用户昵称 xuyuqing 运行时间 4.046 s
代码语言 C++ 内存使用 4.59 MiB
提交时间 2025-09-13 09:25:46
显示代码纯文本

#include <algorithm>
#include <cstdio>
#include <iostream>
#include <utility>
#include <vector>

using namespace std;

int t;
int n;
vector<pair<int, int>> nums;
int maxs[233233];

int main () {
	
	freopen ("Lineup.in", "r", stdin);
	freopen ("Lineup.out", "w", stdout);

	cin >> t;
	for (int index = 1; index <= t; index++) {
		nums.clear();
		cin >> n;
		int num;
		for (int i = 0; i < n; i++) {
			cin >> num;
			nums.emplace_back(-num, i);
		}
		sort (nums.begin(), nums.end());

		int last = -1;
		int now = -1;
		bool flag = true;
		for (auto [num, id] : nums) {
			if (id > now) {
				cout << -num << ' ';
				last = now;
				now = id;
			}
			else if (flag && last < id) {
				flag = false;
				cout << -num << ' ';
				now = id;
			}
		}
		cout << endl;
	}
	
	return 0;
}