Pagini recente » Cod sursa (job #1259684) | Cod sursa (job #1229731) | Cod sursa (job #1376716) | Cod sursa (job #685261) | Cod sursa (job #2264421)
#include <bits/stdc++.h>
using namespace std ;
deque <int> d;
long long s = 0 ;
int n , k , a[5000001] ;
int main()
{
freopen("deque.in" , "r" , stdin) ;
freopen("deque.out" , "w" , stdout) ;
scanf("%d%d" , &n , &k) ;
for (int i = 1 ; i <= n ; ++i)
{
scanf("%d" , &a[i]);
while(!d.empty() && a[d.back()] >= a[i])
d.pop_back();
/* Se extrag de la sfarsitul cozii
toate elementele '>=' cu a[i] */
d.push_back(i);
if (i - d.front() >= k)
d.pop_front() ;
if (i >= k) s += a[d.front()] ;
}
printf("%lld" , s);
return 0 ;
}