Cod sursa(job #1181291)

Utilizator bogdanmarin69Bogdan Marin bogdanmarin69 Data 2 mai 2014 13:36:21
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <cstdio>
using namespace std;
#define MAX 4000001
int v[MAX], q[MAX], p, u, k, n;
long long rez;
int main()
{
    int i;
    freopen("deque.in", "r", stdin);
    freopen("deque.out", "w", stdout);
    scanf("%d%d", &n, &k);
    for(i=1; i<=n; i++)
        scanf("%d", v+i);
    p=1;
    for(i=1; i<=n; i++){
        while(p<=u and v[i]<=v[q[u]]) u--;
        q[++u] = i;
        if(q[p]==i-k) p++;
        if(i>=k)
            rez += v[q[p]];
    }
    printf("%lld\n", rez);
    return 0;
}