Pagini recente » Cod sursa (job #427984) | Cod sursa (job #2267661) | Cod sursa (job #2682281) | Cod sursa (job #1993281) | Cod sursa (job #716759)
Cod sursa(job #716759)
#include <stdio.h>
#include <deque>
using namespace std;
long long sum;
int a,n,k;
deque < pair<int,int> > dq;
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);
while( !dq.empty() && a < dq.back().first )
dq.pop_back();
if(!dq.empty() && dq.front().second == i-k)
dq.pop_front();
dq.push_back( pair<int,int> (a,i) );
if(i >= k)
sum += dq.front().first;
}
printf("%lld", sum);
return 0;
}