Cod sursa(job #2862563)

Utilizator mati.coldea@gmail.comMatei Coldea [email protected] Data 5 martie 2022 15:28:44
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <deque>
using namespace std;
    int a[5000001];
int main()
{

freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
    int n,k;
    cin>>n>>k;

    deque<int> Q(n+1);
    for(int i=1;i<=n;i++){
       cin>>a[i];
    }
    int sum=0;

    int front=1;
    int back=0;
    for(int i=1;i<=n;i++){
        while(front<=back && a[Q[back]]>=a[i]){
            back--;
        }
        Q[++back]=i;


        if(Q[front]==i-k){
            front++;
        }

            if(i>=k){
                 sum+=a[Q[front]];
            }




    }

cout << sum;



    return 0;
}