Cod sursa(job #2723543)

Utilizator MihaiLazar26Lazar Mihai MihaiLazar26 Data 14 martie 2021 17:21:06
Problema Deque Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n, k, *p, *dq, B=0, F=1;
long long s=0;
int main()
{

    fin>>n>>k;
    p = new int[n];
    dq = new int[n];
    for(int i=1;i<=n;i++)
        fin>>p[i];
    for(int i=1; i<=n; i++)
    {
        while(F<=B && p[i]<=p[dq[B]]) B--;
        dq[++B]=i;
        if(dq[F]==i-k) F++;
        if(i>=k) s+=p[dq[F]];
    }
    fout<<s;
    delete[] p;
    delete[] dq;
}