Cod sursa(job #2700068)

Utilizator Bogdan.paun50Mandresi Bogdan Bogdan.paun50 Data 26 ianuarie 2021 14:31:18
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int deq[5000010], a[5000010], N, K, st, dr;
long long sum;

int main()
{
    fin >> N >> K;
        for(int i = 1; i <= N; i++)
            fin >> a[i];
    st = 1; dr = 0;
    for(int i = 1; i <= N; i++)
    {
        while(dr >= st && a[i] <= a[deq[dr]])
            dr--;
        dr++;
        deq[dr] = i;
        if(deq[st] == i - K)
            st++;
        if(i >= K)
            sum += a[deq[st]];
    }
    fout << sum;
    return 0;
}