#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define int long long
mt19937 rnd(time(NULL));
signed main() {
    ios::sync_with_stdio(0); cin.tie(0);
    int n, k; cin >> n >> k;
    vector<int>a(n);
    for(int i = 0; i < n; i++) cin >> a[i];
    if(k == 1){
        int mx = 0;
        for(int i = 0; i < n; i++) mx = max(mx, a[i] + i + 1);
        cout << mx; return 0;
    }
    int sum = 0; multiset<int>mx;
    for(int i = 0; i < k - 1; i++){
        mx.insert(a[i]); sum += a[i];
    }
    int ans = 0;
    for(int i = k - 1; i < n; i++){
        ans = max(ans, sum + a[i] + (i - (k - 1)) + k);
        if(a[i] > *mx.begin()){
            sum -= *mx.begin(); mx.erase(mx.begin()); mx.insert(a[i]); sum += a[i];
        }
    }
    cout << ans;
    return 0;
}