Cod sursa(job #1426198)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 29 aprilie 2015 09:01:13
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int a[5000001], b[5000001];
int fr, bk, n, i, k;
long long s;

int main()
{
    f >> n >> k;
    for (i = 1; i <= n; i++)
        f >> a[i];

    fr = 1, bk = 0;
    for (i = 1; i <= n; i++)
    {
        while (fr <= bk && a[b[bk]] >= a[i])
            bk--;

        bk++, b[bk] = i;

        if (b[fr] == i-k)
            fr++;

        if (i >= k)
            s += a[b[fr]];
    }
    g << s;
    return 0;
}