Cod sursa(job #1973818)

Utilizator stefii_predaStefania Preda stefii_preda Data 25 aprilie 2017 23:33:27
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>

using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");

const int N = 5000005;
long long S;
int v[N], d[N];

int main()
{
    int n, k, i;
    in >> n >> k;
    for(i = 1; i <= n; i++)
        in >> v[i];
    int inc = 1, sf = 0;
    for(i = 1; i <= n; i++)
    {
        while(inc <= sf && sf > 0 && v[d[sf]] >= v[i])
            sf--;
        sf++;
        d[sf] = i;
        if(d[inc] < i-k+1)
            inc++;
        if(i >= k)
            S+=v[d[inc]];
    }
    out << S;
    return 0;
}