Pagini recente » Cod sursa (job #2972855) | Cod sursa (job #1184728) | Cod sursa (job #3294358) | Cod sursa (job #3293454) | Cod sursa (job #3292951)
#include <bits/stdc++.h>
#define MAXN 5000000
using namespace std;
int v[MAXN + 1];
int main() {
ifstream cin( "deque.in" );
ofstream cout( "deque.out" );
int n , k , i;
long long ans;
cin >> n >> k;
deque< int >dq;
for( i = 1 ; i <= n ; i++ )
cin >> v[i];
ans = 0;
for( i = 1 ; i <= k ; i++ ) {
while( !dq.empty() && v[dq.back()] >= v[i] )
dq.pop_back();
dq.push_back( i );
}
for( ; i <= n ; i++ ) {
ans += v[dq.front()];
while( dq.front() <= i - k )
dq.pop_front();
while( !dq.empty() && v[dq.back()] >= v[i] )
dq.pop_back();
dq.push_back( i );
}
ans += v[dq.front()];
cout << ans << '\n';
return 0;
}