Cod sursa(job #565955)

Utilizator TeodoraTanaseTeodora Tanase TeodoraTanase Data 28 martie 2011 14:49:38
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#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;
}