Cod sursa(job #2862568)

Utilizator mati.coldea@gmail.comMatei Coldea [email protected] Data 5 martie 2022 15:33:42
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <deque>
using namespace std;
    int a[5000005];
        int n,k;
         long long sum=0;

    int front=1;
    int back=0;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
cin.tie(0);

    cin>>n>>k;

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

    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;
}