Pagini recente » Cod sursa (job #885678) | Cod sursa (job #2443250) | Cod sursa (job #1709757) | simulare_cerc_hatz | Cod sursa (job #531119)
Cod sursa(job #531119)
#include<stdio.h>
using namespace std;
#define nmax 5000005
int a[nmax], dq[nmax], st, n;
long long sum;
int k;
int t;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
st = 1;
t = 1;
scanf("%d %d",&n,&k);
for(int i = 1; i <= n; i++)
scanf("%d",&a[i]);
dq[1] = a[1];
for(int i = 2; i <= n; i++)
{
while (a[i] < dq[t] && t >= st)
t--;
dq[++t] = a[i];
if (i > k && dq[st] == a[i-k]) st++;
if (i >= k) sum += dq[st];
}
printf("%lld",sum);
return 0;
}