Pagini recente » Cod sursa (job #1166957) | Cod sursa (job #198752) | Cod sursa (job #419419) | Cod sursa (job #1320250) | Cod sursa (job #2264427)
#include <bits/stdc++.h>
using namespace std ;
ifstream f ("deque.in") ;
ofstream g ("deque.out");
deque <int> d;
long long s = 0 ;
int n , k , a[5000001] ;
int main()
{
f >> n >> k ;
for (int i = 1 ; i <= n ; ++i)
{
f >> 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()] ;
}
g << s;
return 0 ;
}