Cod sursa(job #2487117)

Utilizator uvIanisUrsu Ianis Vlad uvIanis Data 3 noiembrie 2019 23:08:12
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>

using namespace std;

deque<pair<int, int>> ursu;

int main()
{


    ifstream fin{"deque.in"};
    ofstream fout{"deque.out"};

    int N, K;

    fin >> N >> K;

    long long S = 0;

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

        while(ursu.empty() == false && ursu.back().first >= x)
            ursu.pop_back();

        ursu.push_back({x, i});

        if(i >= K)
        {
            S += ursu.front().first;

            if(ursu.front().second + K - 1 == i) ursu.pop_front();
        }
    }

    fout << S;
}