#include <bits/stdc++.h>
#define ll long long
#define el cout << '\n'
using namespace std;
const int maxn = 5e5;
int n, k, m, cnt[maxn + 10];
ll a[maxn + 10], b, r;
bool check(ll val)
{
memset(cnt, 0, sizeof cnt);
int ans = 0;
for (int i = 1; i <= n; i++)
{
ans += a[i] >= val;
int l = max(1, i - m + 1);
ll x = min(i * 1ll, (a[i] + b + i * r - val) / r);
if (x < l)
continue;
// cout << i << ' ' << l << ' ' << x, el;
cnt[l]++;
cnt[x + 1]--;
}
for (int i = 1; i <= n; i++)
cnt[i] += cnt[i - 1];
for (int i = 1; i <= m; i++)
ans -= a[i] >= val;
if (ans + cnt[1] >= k)
return 1;
for (int i = 1; i <= n - m; i++)
{
ans += a[i] >= val;
ans -= a[i + m] >= val;
// cout << i + 1 << ' ' << i + m << ' ' << ans << ' ' << cnt[i + 1], el;
if (ans + cnt[i + 1] >= k)
return 1;
}
return 0;
}
ll bs(ll l, ll r)
{
ll ans = 0;
while (l <= r)
{
ll m = l + r >> 1;
if (check(m))
{
ans = m;
l = m + 1;
}
else
r = m - 1;
}
return ans;
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
if (fopen("FERTILIZE.INP", "r"))
{
freopen("FERTILIZE.INP", "r", stdin);
freopen("FERTILIZE.OUT", "w", stdout);
}
cin >> n >> k >> m >> b >> r;
for (int i = 1; i <= n; i++)
cin >> a[i];
cout << bs(0, 1e18);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGVsIGNvdXQgPDwgJ1xuJwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBtYXhuID0gNWU1OwoKaW50IG4sIGssIG0sIGNudFttYXhuICsgMTBdOwpsbCBhW21heG4gKyAxMF0sIGIsIHI7Cgpib29sIGNoZWNrKGxsIHZhbCkKewogICAgbWVtc2V0KGNudCwgMCwgc2l6ZW9mIGNudCk7CiAgICBpbnQgYW5zID0gMDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgIHsKICAgICAgICBhbnMgKz0gYVtpXSA+PSB2YWw7CiAgICAgICAgaW50IGwgPSBtYXgoMSwgaSAtIG0gKyAxKTsKICAgICAgICBsbCB4ID0gbWluKGkgKiAxbGwsIChhW2ldICsgYiArIGkgKiByIC0gdmFsKSAvIHIpOwogICAgICAgIGlmICh4IDwgbCkKICAgICAgICAgICAgY29udGludWU7Ci8vICAgICAgICBjb3V0IDw8IGkgPDwgJyAnIDw8IGwgPDwgJyAnIDw8IHgsIGVsOwogICAgICAgIGNudFtsXSsrOwogICAgICAgIGNudFt4ICsgMV0tLTsKICAgIH0KICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBjbnRbaV0gKz0gY250W2kgLSAxXTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG07IGkrKykKICAgICAgICBhbnMgLT0gYVtpXSA+PSB2YWw7CiAgICBpZiAoYW5zICsgY250WzFdID49IGspCiAgICAgICAgcmV0dXJuIDE7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuIC0gbTsgaSsrKQogICAgewogICAgICAgIGFucyArPSBhW2ldID49IHZhbDsKICAgICAgICBhbnMgLT0gYVtpICsgbV0gPj0gdmFsOwovLyAgICAgICAgY291dCA8PCBpICsgMSA8PCAnICcgPDwgaSArIG0gPDwgJyAnIDw8IGFucyA8PCAnICcgPDwgY250W2kgKyAxXSwgZWw7CiAgICAgICAgaWYgKGFucyArIGNudFtpICsgMV0gPj0gaykKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICB9CiAgICByZXR1cm4gMDsKfQpsbCBicyhsbCBsLCBsbCByKQp7CiAgICBsbCBhbnMgPSAwOwogICAgd2hpbGUgKGwgPD0gcikKICAgIHsKICAgICAgICBsbCBtID0gbCArIHIgPj4gMTsKICAgICAgICBpZiAoY2hlY2sobSkpCiAgICAgICAgewogICAgICAgICAgICBhbnMgPSBtOwogICAgICAgICAgICBsID0gbSArIDE7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgciA9IG0gLSAxOwogICAgfQogICAgcmV0dXJuIGFuczsKfQoKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGlmIChmb3BlbigiRkVSVElMSVpFLklOUCIsICJyIikpCiAgICB7CiAgICAgICAgZnJlb3BlbigiRkVSVElMSVpFLklOUCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oIkZFUlRJTElaRS5PVVQiLCAidyIsIHN0ZG91dCk7CiAgICB9CgogICAgY2luID4+IG4gPj4gayA+PiBtID4+IGIgPj4gcjsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIGNvdXQgPDwgYnMoMCwgMWUxOCk7Cn0K