Cod sursa(job #2728809)

Utilizator vlad_dimaVlad Dima vlad_dima Data 23 martie 2021 18:51:09
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream fin("deque.in");
    ofstream fout("deque.out");
    int N, K, fr = 0, bk = -1, sum = 0;
    fin>>N>>K;
    int* a = new int[N];
    int* dq = new int[N];

    for (int i = 0; i < N; i++)
        fin>>a[i];

    for (int i = 0; i < N; i++)
    {
        while (fr <= bk && a[i] <= a[dq[bk]])
            bk--;
        dq[++bk] = i;

        if (dq[fr] == i - K)
            fr++;
        if (i>=K-1)
            sum += a[dq[fr]];
    }
    fout<<sum;
    fin.close();
    fout.close();

}