Cod sursa(job #2886532)

Utilizator 4N70N1U5Antonio Nitoi 4N70N1U5 Data 7 aprilie 2022 21:04:24
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>

std::ifstream fin("deque.in");
std::ofstream fout("deque.out");

int main()
{
    long long n, k, s = 0;
    
    fin >> n >> k;

    long long A[n], D[n];
    
    for (int i = 0; i < n; i++)
        fin >> A[i];
    
    long long front = 1, back = 0;

    for (int i = 0; i < n; i++)
    {
        while (back >= front && A[D[back]] >= A[i])
            back--;

        D[++back] = i;

        if (D[front] <= i - k)
            front++;

        if (i >= k - 1)
            s += A[D[front]];
    }

    fout << s;
}