Cod sursa(job #2932543)

Utilizator NastureNasture Anca Nasture Data 3 noiembrie 2022 09:13:55
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

ifstream cin("deque.in");
ofstream cout("deque.out");

int coada[5000001],v[5000001];

int main()
{
    int n,i,sf=0,inc=0,k;
    long long s=0;
    v[0]=-2000000000;
    cin>>n>>k;
    for(i=1;i<=n;i++)
    {
        cin>>v[i];
        if(i<k)
        {
            while(sf>=inc && v[i]<v[coada[sf]])
                sf--;
            sf++;
            coada[sf]=i;
        }
        else
        {
            if(i-k+1>coada[inc])
                inc++;
            while(sf>=inc && v[i]<v[coada[sf]])
                sf--;
            sf++;
            coada[sf]=i;
            s+=v[coada[inc]];
        }
    }
    cout<<s;

    return 0;
}