Pagini recente » Cod sursa (job #1134407) | Cod sursa (job #24478) | Cod sursa (job #1784357) | Cod sursa (job #1863350) | Cod sursa (job #1149601)
#include <iostream>
#include <stdio.h>
using namespace std;
int n, k, d[5000010], a[5000010];
long long S;
void sol()
{
scanf("%d %d", &n, &k);
int st=1, dr=0, x;
for (int i=1; i<=n; i++)
scanf("%d", &a[i]);
for (int i=1; i<=n; i++)
{
while (st<=dr && a[i]<=a[d[dr]])
dr--;
d[++dr]=i;
if (d[st]==i-k)
st++;
if (i>=k)
S+=a[d[st]];
}
printf("%lld", S);
}
int main()
{
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
sol();
return 0;
}