Cod sursa(job #2044258)

Utilizator bananamandaoneTudor Cosmin Oanea bananamandaone Data 21 octombrie 2017 09:05:06
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,k,a[5000003];
deque<int>d;

void Citire()
{
    int i;
    fin>>n>>k;
    for(i=1;i<=n;i++)
        fin>>a[i];
}

void Rezolvare()
{
    int i,s;
    s = 0;
    for(i=1;i<=n;i++)
    {
        while(!d.empty() && a[d.back()] >= a[i])
            d.pop_back();
        d.push_back(i);
        if(i-k == d.front())
            d.pop_front();
        if(i>=k)
            s += a[d.front()];
    }
    fout<<s<<"\n";
}

int main()
{

    Citire();
    Rezolvare();

    fin.close();
    fout.close();
    return 0;
}