Cod sursa(job #1752648)

Utilizator catalin9898Bajenaru Catalin catalin9898 Data 4 septembrie 2016 19:08:00
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <cstdio>

using namespace std;
int v[5000001],d[5000001];
int main()
{
    freopen("deque.in","r",stdin);
    freopen("deque.out","w",stdout);
    int i,u=-1,p=0,n,k;
    long long ma=0;
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++)

    {
        scanf("%d",v+i);
        while(u>=p&&v[i]<=v[d[u]])u--;
        d[++u]=i;
        if(i>=k)ma+=v[d[p]];
        if(d[p]-1<=i-k){p++;}

    }
    printf("%lld",ma);

    return 0;
}