Cod sursa(job #2722940)

Utilizator raresmocanuRares Mihai Mocanu raresmocanu Data 13 martie 2021 13:30:01
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

using namespace std;


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

    int n,k;
    fin>>n>>k;
    int *v=new int[n+1];
    int *que=new int[n+1];
     long long int s=0;
    for(int i=1;i<=n;i++)
        fin>>v[i];
    int qs=0,qf=1;

    for(int i=1;i<=n;i++)
    {
        while(qf<=qs&&v[i]<=v[que[qs]])qs--;
        que[++qs]=i;
        if(que[qf]==i-k)qf++;
        if(i>=k) s+=v[que[qf]];
    }

    delete[] v;
    delete[] que;
    fout<<s;
    fin.close();
    fout.close();
    return 0;
}