Cod sursa(job #2181119)

Utilizator ioanavasilescuIoana Vasilescu ioanavasilescu Data 21 martie 2018 14:14:29
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
#include <deque>

#define lim 5000000

using namespace std;

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


int a[lim];
deque <int> dq;

int main()
{
    int n,k;
    int s=0;
    fin>>n>>k;
    for(int i=0;i<n;i++)
        fin>>a[i];
    dq.push_front(0);
    for(int i=1;i<n;i++)
    {
        while(a[dq.back()]>a[i])
            dq.pop_back();
        dq.push_back(i);
        if(dq.front()+k<=i)
        {
            dq.pop_front();
        }
        if(i>=k-1)s+=a[dq.front()];
    }
    fout<<s;
    return 0;
}