Pagini recente » Cod sursa (job #304070) | Cod sursa (job #2730431) | Cod sursa (job #2322460) | Cod sursa (job #1649538) | Cod sursa (job #613168)
Cod sursa(job #613168)
#include <cstdio>
#include <iostream>
#include <deque>
#include <vector>
using namespace std;
int n,k;
int v[500005];
deque <int> d;
int main()
{
int i;
freopen("deque.in","r", stdin);
scanf("%d %d\n",&n,&k);
for(i=1;i<=n;i++) scanf("%d ",&v[i]);
long long S=0;
for(i=1;i<=n;i++)
{
while(d.size() &&v[d.back()]>=v[i]) d.pop_back();
d.push_back(i);
if(i>=k) S+=v[d.front()];
if(i-k+1==d.front()) d.pop_front();
}
freopen("deque.out","w", stdout);
printf("%lld",S);
fclose(stdin);
fclose(stdout);
return 0;
}