Cod sursa(job #2731112)

Utilizator Theo_FurtunaTheodor-Florentin Furtuna Theo_Furtuna Data 27 martie 2021 12:35:21
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
using namespace std;
int v[5000000], c[5000000], stanga = 1, dreapta, n, k;
long s;
int main()
{
    in >> n >> k;
    for(int i=1;i<=n;i++)
    {
        in >> v[i];
    }
    for(int i=1;i<=n;i++)
    {
        while(stanga <= dreapta && v[i] <= v[c[dreapta]])
        {
            dreapta--;
        }
        c[++dreapta] = i;
        if(c[stanga] == i-k)
        {
            stanga++;
        }
        if(i >= k)
        {
            s += v[c[stanga]];
        }
    }
    out<<s;
    in.close();
    out.close();
    return 0;
}