#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
int main()
{
int n, k;
fin >> n >> k;
int v[n+1];
for (int i=1; i<=n; i++){
fin >> v[i];
}
deque<pair<int,int>> d;
long long s=0;
for (int i=1; i<=n; i++){
while(!d.empty() && d.front().second <= i-k){
d.pop_front();
}
while(!d.empty() && d.back().first >= v[i]){
d.pop_back();
}
d.push_back({v[i], i});
if(i>=k){
s+=d.front().first;
}
}
fout << s;
return 0;
}