Cod sursa(job #2657230)

Utilizator CalinNavadaruCalin Navadaru CalinNavadaru Data 10 octombrie 2020 09:59:08
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <deque>
using namespace std;

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

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


int main()
{
    long long int suma_minime = 0;
    f >> n >> k;
    long long int x;
    f >> x;
    dublacoada.push_front(make_pair(x, 0));
    n--;
    for(int i = 1; i < n; i++) {
        f >> x;
        if(dublacoada.front().first < x && dublacoada.back().first > x) {
            dublacoada.pop_back();
        }
        dublacoada.push_back(make_pair(x, i));
        if(dublacoada.front().second + k == i) {
            suma_minime+=dublacoada.front().first;
            dublacoada.pop_front();
        }

    }
    g << suma_minime;
    return 0;
}