#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
template<typename T>
void maximize(T& a, const T& b) {
if (a < b) a = b;
}
// ans[x] = Đáp án cho độ dài x
// Nhận xét:
// ans[x] có thể dùng để update cho các ans[x'] với x' < x
// => Thử cho từng a(i) làm giá trị min (1 <= i <= n)
// Sau đó tìm đoạn [l, r] dài nhất chứa i thoả mãn a(i) là min của đoạn [l, r]
const int N = 2e5 + 5;
int n;
int a[N];
int l[N]; // l[i] = Phần tử gần nhất bên trái < a[i]
int r[N]; // r[i] = Phần tử gần nhất bên phải < a[i]
int ans[N];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
vector<int> st;
for (int i = 1; i <= n; i++) {
while (!st.empty() && a[st.back()] >= a[i]) st.pop_back();
l[i] = st.empty() ? 0 : st.back();
st.push_back(i);
}
st.clear();
for (int i = n; i >= 1; i--) {
while (!st.empty() && a[st.back()] >= a[i]) st.pop_back();
r[i] = st.empty() ? n + 1 : st.back();
st.push_back(i);
}
for (int i = 1; i <= n; i++) {
int len = r[i] - l[i] - 1;
maximize(ans[len], a[i]);
}
for (int len = n - 1; len >= 1; len--) {
maximize(ans[len], ans[len + 1]);
}
for (int len = 1; len <= n; len++) {
cout << ans[len] << ' ';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kdm9pZCBtYXhpbWl6ZShUJiBhLCBjb25zdCBUJiBiKSB7CglpZiAoYSA8IGIpIGEgPSBiOyAgCn0KCi8vIGFuc1t4XSA9IMSQw6FwIMOhbiBjaG8gxJHhu5kgZMOgaSB4Ci8vIE5o4bqtbiB4w6l0OgovLyBhbnNbeF0gY8OzIHRo4buDIGTDuW5nIMSR4buDIHVwZGF0ZSBjaG8gY8OhYyBhbnNbeCddIHbhu5tpIHgnIDwgeAovLyA9PiBUaOG7rSBjaG8gdOG7q25nIGEoaSkgbMOgbSBnacOhIHRy4buLIG1pbiAoMSA8PSBpIDw9IG4pIAovLyBTYXUgxJHDsyB0w6xtIMSRb+G6oW4gW2wsIHJdIGTDoGkgbmjhuqV0IGNo4bupYSBpIHRob+G6oyBtw6NuIGEoaSkgbMOgIG1pbiBj4bunYSDEkW/huqFuIFtsLCByXQpjb25zdCBpbnQgTiA9IDJlNSArIDU7IAoKaW50IG47IAppbnQgYVtOXTsgCgppbnQgbFtOXTsgLy8gbFtpXSA9IFBo4bqnbiB04butIGfhuqduIG5o4bqldCBiw6puIHRyw6FpIDwgYVtpXQppbnQgcltOXTsgLy8gcltpXSA9IFBo4bqnbiB04butIGfhuqduIG5o4bqldCBiw6puIHBo4bqjaSA8IGFbaV0KaW50IGFuc1tOXTsgCgppbnQgbWFpbigpIHsKCWlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgCgljaW4udGllKG51bGxwdHIpOyAJCgljaW4gPj4gbjsgCglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIGNpbiA+PiBhW2ldOyAKCgl2ZWN0b3I8aW50PiBzdDsgIAoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CgkJd2hpbGUgKCFzdC5lbXB0eSgpICYmIGFbc3QuYmFjaygpXSA+PSBhW2ldKSBzdC5wb3BfYmFjaygpOyAKCQlsW2ldID0gc3QuZW1wdHkoKSA/IDAgOiBzdC5iYWNrKCk7IAoJCXN0LnB1c2hfYmFjayhpKTsgCgl9CgoJc3QuY2xlYXIoKTsgCglmb3IgKGludCBpID0gbjsgaSA+PSAxOyBpLS0pIHsKCQl3aGlsZSAoIXN0LmVtcHR5KCkgJiYgYVtzdC5iYWNrKCldID49IGFbaV0pIHN0LnBvcF9iYWNrKCk7IAoJCXJbaV0gPSBzdC5lbXB0eSgpID8gbiArIDEgOiBzdC5iYWNrKCk7ICAKCQlzdC5wdXNoX2JhY2soaSk7IAoJfQoKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCWludCBsZW4gPSByW2ldIC0gbFtpXSAtIDE7IAoJCW1heGltaXplKGFuc1tsZW5dLCBhW2ldKTsgCgl9CgoJZm9yIChpbnQgbGVuID0gbiAtIDE7IGxlbiA+PSAxOyBsZW4tLSkgewoJCW1heGltaXplKGFuc1tsZW5dLCBhbnNbbGVuICsgMV0pOyAKCX0KCglmb3IgKGludCBsZW4gPSAxOyBsZW4gPD0gbjsgbGVuKyspIHsKCQljb3V0IDw8IGFuc1tsZW5dIDw8ICcgJzsgCgl9Cn0=