Pagini recente » Cod sursa (job #1014180) | Cod sursa (job #1603930) | Cod sursa (job #1277763) | Cod sursa (job #304400) | Cod sursa (job #2263237)
#include <cstdio>
#include <deque>
using namespace std;
deque<int>v;
int s[5000005];
int main()
{
freopen( "deque.in", "r", stdin );
freopen( "deque.out", "w", stdout );
int n, m, k;
scanf( "%d%d", &n, &m );
for( int i=1;i<=n;i++ )
scanf( "%d", &s[i] );
v.push_back(s[1]);
for( int i=2;i<=m;i++ )
{
while( !v.empty() && s[i]<v.back() )
v.pop_back();
v.push_back(s[i]);
}
int sum=v.front();
for( int i=m+1;i<=n;i++ )
{
if( s[i-m]==v.front() )
v.pop_front();
while( !v.empty() && s[i]<v.back() )
v.pop_back();
v.push_back(s[i]);
sum+=v.front();
}
printf( "%d", sum );
return 0;
}