Cod sursa(job #2723541)

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

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

int main()
{
    long long int n, k, *p, *dq, B=0, F=1,s=0;
    fin>>n>>k;
    p = new long long int[n];
    dq = new long long 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;
}