Cod sursa(job #2657245)

Utilizator CalinNavadaruCalin Navadaru CalinNavadaru Data 10 octombrie 2020 10:11:31
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <deque>
using namespace std;

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

deque <pair<int,int>> dublacoada;
int n, k;


int main()
{
    int suma_minime = 0;
    f >> n >> k;
    int x;
    for(int i = 0; i < n; i++) {
        f >> x;
        while(!dublacoada.empty() && x <= dublacoada.back().first)
            dublacoada.pop_back();

        dublacoada.push_back(make_pair(x, i));

        if(dublacoada.front().second < i - k + 1)
            dublacoada.pop_front();
        if(i>=k-1)
            suma_minime+=dublacoada.front().first;


    }
    g << suma_minime;
    return 0;
}