Cod sursa(job #2760746)

Utilizator lalalaura_02Udroiu Laura-Ioana lalalaura_02 Data 28 iunie 2021 21:29:25
Problema Deque Scor 5
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <bits/stdc++.h>

using namespace std;

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


int A[5000001],Deq[5000001];

int main()
{
    int N, K, st = 0, dr = -1, i,s = 0;

    f>>N>>K;


    for(i = 0; i < N; i++)
        f>>A[i];


    for(i = 0 ; i < N; i++)
    {
        while (st <= dr && A[i] <= A[Deq[dr]])    //cat timp deq nu este gol si elementele anterioare sunt mai mari decat cel curent
            dr--;                                      //eliminam elementele mai mari

        dr++;
        Deq[dr] = i;             //retinem pozitia elementelor

        if(i + 1 >= K)                  //am format o secventa de K
            s += A[Deq[st]];   //adaugam la suma primul element, deoarece ala e minimul


    }

    g<<s;
    f.close();
    g.close();


    return 0;
}