#include #define ll long long #define turbo ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define pii pair #define pll pair #define pb push_back #define f first #define s second #define hello cout<<"Hello World"; #define endl "n" #define mid (l+r)/2 using namespace std; int n, k; deque q; void dodaj(ll ans, ll index) { while(!q.empty() and q.back().f >= ans) q.pop_back(); q.push_back({ans, index}); while(!q.empty() and index-q.front().s >= k) q.pop_front(); q.push_back({ans, index}); } int main() { cin >> n >> k; q.push_back({0, -1}); for(int i = 0; i < n; i++) { ll x; cin >> x; dodaj(x+q.front().f,i); } cout << q.front().f; }