Cod sursa(job #2259994)

Utilizator marian013Giugioiu Marian Constantin marian013 Data 14 octombrie 2018 10:23:45
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include<stdio.h>
using namespace std;
int main()
{
    freopen("deque.in","r",stdin);
    freopen("deque.out","w",stdout);
    int in=1,sf=0,v[5000002],n,k,deq[5000002],i;long long sum=0;
    scanf("%d %d ",&n,&k);
    for(i=1;i<=n;i++)
        scanf("%d ",&v[i]);

    for(i=1;i<=n;i++)
    {
        while(in<=sf&&v[i]<=v[deq[sf]])
            --sf;
        deq[++sf]=i;
        if(deq[in]==i-k)
            ++in;
        if(i>=k)
            sum+=v[deq[in]];
    }
    printf("%lld\n", sum);
}