Pagini recente » Cod sursa (job #3339074) | Cod sursa (job #3340252) | Cod sursa (job #3344699) | Cod sursa (job #2775352) | Cod sursa (job #3328154)
#include <iostream>
#include <bits/stdc++.h>
#define NMAX 5000008
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
int N,K;
int Deque[NMAX],v[NMAX],Front,Back;
long long int Sum;
int main()
{
fin>>N>>K;
for(int i=1;i<=N;i++)
fin>>v[i];
for(int i=1;i<=N;i++)
{
while(Front<=Back && v[i]<=v[Deque[Back]])
{
Back--;
}
Back++;
Deque[Back]=i;
if(Deque[Front]==i-K)
Front++;
if(i>=K)
Sum+=v[Deque[Front]];
}
fout<<Sum;
return 0;
}