#include #include #include #include using namespace std; #define repeat(i, x) for (int i = 0; (i) < (int)(x); (i)++) int main() { cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; vector a(N, 0); map right_end; repeat (i, N) { cin >> a[i]; right_end[a[i]] = i; } set S; repeat (i, N) { S.insert(a[i]); int maxa; while (right_end[(maxa = *S.rbegin())] < i) { S.erase(maxa); } cout << maxa << " "; } cout << endl; return 0; }