显示代码纯文本
#include<iostream>
#include<vector>
using namespace std;
const int MAXN = 2e5 + 5;
int T, n;
int a[MAXN];
int main(){
freopen("Lineup.in", "r", stdin);
freopen("Lineup.out", "w", stdout);
ios::sync_with_stdio(0); cin.tie(0);
cin >> T;
while(T --){
cin >> n;
vector<int> t[n + 5];
for(int i = 1;i <= n;i ++){
cin >> a[i];
t[a[i]].push_back(i);
}
int index = 0, pre = 0;
bool flag = false;
for(int v = n;v >= 1;v --){
for(int id : t[v]){
if(id > index){
pre = index; index = id;
cout << v << ' ';
}
else if(!flag && pre < id){
index = id; flag = true;
cout << v << ' ';
}
}
}
cout << '\n';
}
return 0;
}