Cod sursa(job #1897158)

Utilizator denniscrevusDennis Curti denniscrevus Data 1 martie 2017 10:47:38
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
#define INF 1<<31
#define NMAX 5000005

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int v[NMAX], n, k, inc, sf, i, dek[NMAX];
long long ans;

int main()
{
    f>>n>>k;

    for(i=1;i<=n;i++)
        f>>v[i];

    inc = 1;

    for(i=1;i<=n;i++)
    {
        if(i - dek[inc] == k)
            inc++;

        while(v[i] <= v[dek[sf]] && sf >= inc)
            sf--;

        dek[++sf] = i;

        if(i>=k)
            ans += v[dek[inc]];
    }
    g<<ans;
}