Cod sursa(job #2037577)

Utilizator andrei20003Ionescu Andrei andrei20003 Data 12 octombrie 2017 15:55:11
Problema Deque Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <bits/stdc++.h>

using namespace std;

char v[1000000],d[1000000];

int main()
{
    int n,k,st=0,dr,s=0,i;
    freopen("deque.in","r",stdin);
    freopen("deque.out","w",stdout);
    scanf("%d%d", &n, &k);
    dr=n;
    for (i=0;i<n;i++) {
        scanf("%d", &v[i]);
        if (d[st]==i-k)
            st++;
        while (st<=dr && v[i]<=v[d[dr]])
            dr--;
        d[++dr]=i;
        if (i>=k-1)
            s+=v[d[st]];
    }
    printf("%d", s);
    return 0;
}