Cod sursa(job #2731371)

Utilizator Stefan_BerlinschiStefan-Cristian Berlinschi Stefan_Berlinschi Data 27 martie 2021 18:38:20
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>

using namespace std;

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

// ifstream fin("input.txt");
// ofstream fout("output.txt");

int main(){
    int n, k;
    long long s = 0;
    int st = 1, dr = 0;

    fin >> n >> k;
    int coada [n+2], indici [n+2];

    int nr;
    for (int i = 1; i <= n; i ++) {
        fin >> nr;

        while (coada [dr] >= nr && dr >= st) {
            dr --;
        }

        coada [++ dr] = nr;
        indici [dr] = i;

        if (indici [st] == i - k) {
            st ++;
        }

        if (i >= k)
            s += coada [st];
    }

    fout << s;
}