Cod sursa(job #2726418)

Utilizator XeinIonel-Alexandru Culea Xein Data 20 martie 2021 21:48:47
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

int main()
{
    std::ifstream f("deque.in");
    int N, K, Suma = 0;
    f >> N >> K;
    int deq[N], Poz[N];

    int Back = 0, Front = 0;
    f >> deq[0];
    Poz[0] = 0;
    for(int i = 1; i < N; ++i)
    {
        f >> deq[i];
        while(Front <= Back && deq[i] < deq[Back])
            --Back;

        deq[++Back] = deq[i];
        Poz[Back] = i;

        if(Poz[Front] <= i - K)
            ++Front;

        if(i + 1 >= K)
            Suma += deq[Front];
    }

    std::ofstream g("deque.out");
    g << Suma;
    return 0;
}