Cod sursa(job #2748677)

Utilizator HerddexJinga Tudor Herddex Data 2 mai 2021 13:43:03
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <deque>
#include <iostream>

using namespace std;

typedef int num;

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

    num N, K;
    fin >> N >> K;

    auto A = new num[N + 1];
    deque<num> d;
    long long sum = 0;
    for(num i = 1; i <= N; i++) {
        fin >> A[i];
        while(!d.empty() && A[d.back()] > A[i])
            d.pop_back();
        d.push_back(i);
        if(i >= K) {
            sum += A[d.front()];
            if(d.front() == i - K + 1)
                d.pop_front();
        }
    }
    fout << sum << '\n';

    delete[] A;
    fin.close();
    fout.close();
    return 0;
}