Pagini recente » Borderou de evaluare (job #892615) | Borderou de evaluare (job #2383837) | Rezultatele filtrării | Borderou de evaluare (job #1840169) | Cod sursa (job #2569487)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("deque.in");
ofstream fout("deque.out");
deque < int > D;
int n , k , sum ;
int a[5000001];
int main()
{
fin >> n >> k ;
int x ;
for ( int i = 1 ; i <= n ; i ++ )
{
fin >> a[ i ] ;
while( D . empty() == false && a[D.back()] >= a[ i ] )
D.pop_back();
D.push_back( i );
if( i >= k )
{
sum += a[ D.front() ] ;
}
if( D.front() < i - k + 2 )
D.pop_front();
}
fout<<sum;
return 0;
}