Pagini recente » Cod sursa (job #2210059) | Cod sursa (job #680911) | Cod sursa (job #923742) | Cod sursa (job #2865412) | Cod sursa (job #2263242)
#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%d", &n, &m, &s[1] );
v.push_back(s[1]);
for( int i=2;i<=m;i++ )
{
scanf( "%d", &s[i] );
while( !v.empty() && s[i]<v.back() )
v.pop_back();
v.push_back(s[i]);
}
long long sum=v.front();
for( int i=m+1;i<=n;i++ )
{
scanf( "%d", &s[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( "%lld", sum );
return 0;
}