Pagini recente » Cod sursa (job #494322) | Cod sursa (job #3278622) | Cod sursa (job #1943355) | Cod sursa (job #530623) | Cod sursa (job #565955)
Cod sursa(job #565955)
#include <cstdio>
#define M 5000000
using namespace std;
long n, k, s, p, sf, suma;
struct coada
{
long i, x;
} a[M];
void citire()
{
scanf ("%ld %ld ",&n,&k);
for (int i=0; i<n; i++)
{
scanf ("%ld ",&s);
while (sf!=p && s<a[sf-1].x)
sf--;
a[sf].x=s;
a[sf++].i=i;
if (a[p].i<=i-k)
p++;
if (i+1>=k)
suma+=a[p].x;
}
}
int main()
{
freopen ("deque.in","r",stdin);
freopen ("deque.out","w",stdout);
citire();
printf ("%ld\n",suma);
return 0;
}