Cod sursa(job #2864852)

Utilizator toma_ariciuAriciu Toma toma_ariciu Data 8 martie 2022 11:49:20
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

#pragma GCC optimize ("Ofast")

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

int a, n, k;
long long sum;
struct ura { /// ma apropii de transformare
    int val, ind;
};

deque <ura> dq;

int main()
{
    ios_base::sync_with_stdio(false);
    fin >> n >> k;
    for(int i = 1; i <= n; i++)
    {
        fin >> a;
        while(!dq.empty() && dq.back().val > a)
            dq.pop_back();
        dq.push_back({a, i});
        if(dq.front().ind == i - k)
            dq.pop_front();
        //fout << dq.front().val << ' ';
        if(i >= k)
            sum += dq.front().val;
    }
    fout << sum;
    return 0;
}