#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
vector<int> v(n);
for(int i=0;i<n;i++)
cin>>v[i];
vector<int> biggest(n,v[n-1]);
for(int i=n-2;i>=0;i--)
biggest[i]=max(biggest[i+1],v[i]);
vector<int> ans;
stack<int> s;
for(int i=0;i<n;i++){
s.push(v[i]);
while(!s.empty()&&s.top()>biggest[i+1]){
ans.push_back(s.top());
s.pop();
}
}
while(!s.empty()){
ans.push_back(s.top());
s.pop();
}
for(auto &num:ans)
cout<<num<<" ";
cout<<endl;
return 0;
}

京公网安备 11010502036488号