Cod sursa(job #2887468)

Utilizator DariaClemClem Daria DariaClem Data 9 aprilie 2022 18:11:29
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

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

deque<int> numere;
deque<int> pozitii;
int nrElemente, k;

int main() {
    long long index, numar, suma = 0;
    fin >> nrElemente >> k;
    for (index = 0; index < nrElemente; index += 1) {
        fin >> numar;
        while (numere.empty() == 0 and numar <= numere.back()) {
            numere.pop_back();
            pozitii.pop_back();
        }
        numere.push_back(numar);
        pozitii.push_back(index);
        while (pozitii.empty() == 0 and pozitii.front() <= index - k) {
            numere.pop_front();
            pozitii.pop_front();
        }
        if (index >= k - 1) {
            suma += numere.front();
        }
    }
    fout << suma;
    return 0;
}