Pagini recente » Cod sursa (job #2958459) | Cod sursa (job #991396) | Cod sursa (job #15338) | Cod sursa (job #3287738) | Cod sursa (job #236529)
Cod sursa(job #236529)
#include <stdio.h>
#define Nmax 5000010
int D[Nmax],A[Nmax],i,j,u,p,N,K;
long long suma;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d %d", &N,&K);
for (i=1;i<=N;++i)
scanf("%d", &A[i]);
u=p=1;
for (i=1;i<=N;++i)
{
while (u<=p && A[i]<=A[D[p]])
p--;
p++;
D[p]=i;
while (D[u]==i-K)
u++;
if (i>=K)
//printf("%d\n", A[D[u]]);
suma+=A[D[u]];
}
printf("%lld", suma);
return 0;
}