Cod sursa(job #2636434)

Utilizator Teodora1314Teodora Oancea-Negoita Teodora1314 Data 18 iulie 2020 01:03:10
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
//#include <iostream>
#include <fstream>
using namespace std;
int n,a[5000002],dq[5000002],i,k,st,dr;
long long s;
ifstream cin("deque.in");
ofstream cout("deque.out");
int main()
{
    cin>>n>>k;
    for(i=1;i<=n;i++)
        cin>>a[i];
    dr=1; st=0;
    for(i=1;i<=n;i++)
    {
        while(dr<=st &&a[i]<=a[dq[st]])
        {
            st--;
        }
        dq[++st]=i;

        if(dq[dr]==i-k)
            dr++;
        if(i>=k)
            s=s+a[dq[dr]];

    }
    cout<<s;
    return 0;
}