Pagini recente » Cod sursa (job #3342935) | Cod sursa (job #3338470) | Monitorul de evaluare | Cod sursa (job #3326313) | Cod sursa (job #3328153)
#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,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;
}