#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;
}
const int N = 2e5 + 5;
int n, a, b;
int x[N];
ll pref[N];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> a >> b;
for (int i = 1; i <= n; i++) cin >> x[i];
for (int i = 1; i <= n; i++) {
pref[i] = pref[i - 1] + x[i];
}
// Khi xét đến đầu mút r, ta cần tìm đầu mút l thoả mãn:
// a <= r - l <= b suy ra l thuộc đoạn [r - b, r - a]
// và giá trị pref[r] - pref[l] lớn nhất có thể, hay nói cách khác là pref[l] phải nhỏ nhất có thể
// => Với mỗi r, cần tìm pref[l] nhỏ nhất trong đoạn [r - b, r - a]
// => Bài toán kinh điển tìm min trên đoạn tịnh tiến có thể giải quyết bằng deque
ll ans = -LINF;
deque<int> dq;
for (int r = a; r <= n; r++) {
while (!dq.empty() && pref[dq.back()] > pref[r - a]) dq.pop_back();
dq.push_back(r - a);
if (dq.front() == r - b - 1) dq.pop_front();
maximize(ans, pref[r] - pref[dq.front()]);
}
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kdm9pZCBtYXhpbWl6ZShUJiBhLCBjb25zdCBUJiBiKSB7CglpZiAoYSA8IGIpIGEgPSBiOyAgCn0KCmNvbnN0IGludCBOID0gMmU1ICsgNTsgCiAKaW50IG4sIGEsIGI7ICAKaW50IHhbTl07IApsbCBwcmVmW05dOyAKCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyAKCWNpbi50aWUobnVsbHB0cik7IAkKCWNpbiA+PiBuID4+IGEgPj4gYjsgIAoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBjaW4gPj4geFtpXTsgCgoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CgkJcHJlZltpXSA9IHByZWZbaSAtIDFdICsgeFtpXTsgCgl9CgoJLy8gS2hpIHjDqXQgxJHhur9uIMSR4bqndSBtw7p0IHIsIHRhIGPhuqduIHTDrG0gxJHhuqd1IG3DunQgbCB0aG/huqMgbcOjbjoKCS8vIGEgPD0gciAtIGwgPD0gYiBzdXkgcmEgbCB0aHXhu5ljIMSRb+G6oW4gW3IgLSBiLCByIC0gYV0KCS8vIHbDoCBnacOhIHRy4buLIHByZWZbcl0gLSBwcmVmW2xdIGzhu5tuIG5o4bqldCBjw7MgdGjhu4MsIGhheSBuw7NpIGPDoWNoIGtow6FjIGzDoCBwcmVmW2xdIHBo4bqjaSBuaOG7jyBuaOG6pXQgY8OzIHRo4buDCgkvLyA9PiBW4bubaSBt4buXaSByLCBj4bqnbiB0w6xtIHByZWZbbF0gbmjhu48gbmjhuqV0IHRyb25nIMSRb+G6oW4gW3IgLSBiLCByIC0gYV0KCS8vID0+IELDoGkgdG/DoW4ga2luaCDEkWnhu4NuIHTDrG0gbWluIHRyw6puIMSRb+G6oW4gdOG7i25oIHRp4bq/biBjw7MgdGjhu4MgZ2nhuqNpIHF1eeG6v3QgYuG6sW5nIGRlcXVlCglsbCBhbnMgPSAtTElORjsgCglkZXF1ZTxpbnQ+IGRxOyAgCglmb3IgKGludCByID0gYTsgciA8PSBuOyByKyspIHsKCQl3aGlsZSAoIWRxLmVtcHR5KCkgJiYgcHJlZltkcS5iYWNrKCldID4gcHJlZltyIC0gYV0pIGRxLnBvcF9iYWNrKCk7CgkJZHEucHVzaF9iYWNrKHIgLSBhKTsgIAoJCWlmIChkcS5mcm9udCgpID09IHIgLSBiIC0gMSkgZHEucG9wX2Zyb250KCk7IAoJCW1heGltaXplKGFucywgcHJlZltyXSAtIHByZWZbZHEuZnJvbnQoKV0pOyAgCgl9CgoJY291dCA8PCBhbnMgPDwgJ1xuJzsgCn0J