Cod sursa(job #1210972)

Utilizator mariusn01Marius Nicoli mariusn01 Data 21 iulie 2014 18:42:07
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#define DIM 5000010

using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");

int V[DIM];
int D[DIM];

long long s;

int n, k, i, p, u;

int main() {
    fin>>n>>k;
    for (i=1;i<=n;i++) {
        fin>>V[i];
    }

    D[1] = 1;
    p = u = 1;
    for (i=2;i<=n;i++) {
        while (p <= u && V[i] < V[D[u]])
            u--;
        D[++u] = i;
        if (i-D[p] == k)
            p++;

        if (i >= k)
            s += V[D[p]];
    }

    fout<<s;

    return  0;
}