Cod sursa(job #2538034)

Utilizator BogdanFarcasBogdan Farcas BogdanFarcas Data 4 februarie 2020 12:07:23
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;

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

const int N=5000001;
long long v[N],ans,n,k,dq[N],st,dr;

int main()
{
    fin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    st=1;
    dr=0;
    for(int i=1;i<=n;i++)
    {
        if(i-k==dq[st])
        {
            st++;
        }
        while(st<=dr&&v[i]<=v[dq[dr]])
        {
            dr--;
        }
        dq[++dr]=i;
        if(i>=k)
        {
            ans+=v[dq[st]];
        }
    }
    fout<<ans;
    return 0;
}