Pagini recente » Cod sursa (job #3279058) | Cod sursa (job #407048) | Cod sursa (job #2865205) | Cod sursa (job #1431871) | Cod sursa (job #2565586)
#include <cstdio>
#include <deque>
using namespace std;
deque <int> v;
int A[5000005];
int main()
{
freopen ( "deque.in", "r", stdin );
freopen ( "deque.out", "w", stdout );
int n, nr, k;
long long sum = 0;
scanf ( "%d%d", &n, &k );
for ( int i = 1; i <= n; i++ )
scanf ( "%d", &A[i] );
for ( int i = 1; i <= n; i++ )
{
while ( !v.empty() && A[i] <= A[v.back()] )
v.pop_back();
v.push_back ( i );
if ( v.front() == i - k )
v.pop_front();
if ( i >= k )
sum += A[v.front()];
}
printf ( "%lld", sum );
return 0;
}