#include using namespace std; #include using namespace atcoder; using ll = long long; ll op(ll a, ll b) {if(a < b) return a; return b;} ll e() {return 1e18;} int main() { int N, B, C; cin >> N >> B >> C; vector A(N); for(int i = 0; i < N; ++i) cin >> A[i]; ll Asum = 0; for(auto x : A) Asum += x; if(C > N) { cout << Asum << "\n"; return 0; } segtree seg(N); for(int i = 0; i < N; ++i) { if(i < C) seg.set(i, A[i]); else seg.set(i, seg.prod(i - C, i - (B == 2 ? 1 : 0)) + A[i]); } cout << Asum - seg.prod(N - C, N) << "\n"; return 0; }