Cod sursa(job #2258072)

Utilizator LucianTLucian Trepteanu LucianT Data 10 octombrie 2018 20:01:01
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
const int maxN=5e6+1;
using namespace std;

int n,k;
int v[maxN];

int st,dr;
int deq[maxN];

long long sum;

int main()
{
    ifstream f("deque.in");
    ofstream g("deque.out");

    f>>n>>k;
    for(int i=1;i<=n;i++)
        f>>v[i];

    st=1,dr=0;
    for(int i=1;i<=n;i++)
    {
        while(st<=dr && v[i]<=v[deq[dr]])
            dr--;

        deq[++dr]=i;

        if(deq[st]==i-k)
            st++;

        if(i>=k)
            sum+=v[deq[st]];
    }

    g<<sum;

    return 0;
}