Cod sursa(job #1753764)

Utilizator Chirita_MateiChirita Matei Chirita_Matei Data 7 septembrie 2016 10:01:37
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>

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

struct element{
    int p;
    int v;
}q[5000005];

int n,k,x,i,st,dr;
long long s;

int main()
{
    fin>>n>>k;

    st=1;
    dr=0;

    for(i=1;i<=n;i++)
    {
        fin>>x;

        if(q[st].p<=i-k)
        {
            st++;
        }

        while(st<=dr && q[dr].v>=x)
        {
            --dr;
        }

        q[++dr].v=x;
        q[dr].p=i;

        if(i>=k) s+=q[st].v;
    }

    fout<<s;

    return 0;
}