Cod sursa(job #2887928)

Utilizator Cris.CristinaPopescu Cristina Cris.Cristina Data 10 aprilie 2022 14:00:03
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include<iostream>
#include<fstream>
using namespace std;
int dq[5000001], sir[5000001];
//dq- retin pozitia elem minim
int main()
{
    ifstream f("deque.in");
    ofstream g("deque.out");
    long long n,k;
    f>>n>>k;    //n-nr elem, k-lung segm din aux
    long long s=0;
    int fq=1, bq=0;
    for(int i=1;i<=n;i++)
        f>>sir[i];
    for(int i=1;i<=n;i++)
    {

        while(fq<=bq && sir[i]<=sir[dq[bq]])
            bq--;
        dq[++bq]=i;
        //eliminam primul elem din dq daca nu mai apartine secv
        if(dq[fq]==i-k)
            fq++;

        if(i>=k)
            s+=sir[dq[fq]];

    }
    g<<s;
    return 0;

}