Cod sursa(job #1542784)

Utilizator cipistefan12Stefan Ciprian cipistefan12 Data 5 decembrie 2015 17:29:05
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>

using namespace std;

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

int v[5000010], d[5000010];
long long sum;
int p, u, i, n, k;
int main()
{
    fin>>n>>k;
    for(i=1;i<=n;i++){
        fin>>v[i];
    }

    p = 1;
    u = 0;

    for (i=1;i<=n;i++) {
        while (p<=u && v[i] <= v[ d[u] ])
            u--;

        d[++u] = i;

        if (i-d[p] == k)
            p++;

        if (i >= k)
            sum += v[ d[p] ];

    }

    fout<<sum;

    return 0;
}