Pagini recente » Rating Serban Andrei Stan (serbanstan) | Cod sursa (job #3867) | Cod sursa (job #3266584) | Cod sursa (job #1055074) | Cod sursa (job #235799)
Cod sursa(job #235799)
#include <cstdio>
#include <deque>
using namespace std;
#define nr first
#define i second
deque < pair<int, int> > Q;
long N, K, x;
long long Rez;
int main()
{
freopen("deque.in","rt",stdin);
freopen("deque.out","wt",stdout);
scanf("%ld %ld",&N, &K);
for(int i = 1; i <= N; ++i)
{
scanf("%ld",&x);
while(!Q.empty() && Q.back().nr > x) Q.pop_back();
while(!Q.empty() && Q.front().i <= i - K) Q.pop_front();
Q.push_back(make_pair(x, i));
if(i >= K)
Rez += Q.front().nr;
}
printf("%lld\n", Rez);
}