Cod sursa(job #2342598)

Utilizator Alex_BubBuburuzan Alexandru Alex_Bub Data 12 februarie 2019 22:46:01
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <deque>

using namespace std;

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

int N, K, x;

long long Sol;

struct str{int val, ind;};

deque <str> Q;

int main()
{
    fin >> N >> K;

    for(int i = 1; i <= N; i++)
    {
        fin >> x;

        while(!Q.empty() && Q.back().val >= x) Q.pop_back();

        Q.push_back({x, i});

        while(!Q.empty() && Q.front().ind <= i - K) Q.pop_front();

        if(i >= K) Sol += Q.front().val;
    }

    fout << Sol << '\n';

    fin.close();
    fout.close();

    return 0;
}