Cod sursa(job #3224614)

Utilizator Ruxandra009Ruxandra Vasilescu Ruxandra009 Data 15 aprilie 2024 18:42:26
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <queue>

using namespace std;

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

long long n, k, a[50000050], sumi;
deque<long long> D;

int main()
{
    f >> n >> k;
    for(long long i = 1; i <= n; i ++)
    {
        f >> a[i];
        while(!D.empty() && a[D.back()] > a[i])
            D.pop_back();

        D.push_back(i);
        if(i >= k)
        {
            while(!D.empty() && D.front() <= i - k)
                D.pop_front();

            sumi += a[D.front()];
        }
    }

    g << sumi;
    return 0;
}