Cod sursa(job #1362767)

Utilizator alexmisto342Turdean Alexandru alexmisto342 Data 26 februarie 2015 15:19:03
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
deque<int> D;
int i,j,n,k,v[5000001],rasp;
int main()
{
    f>>n>>k;
    for(i=1;i<=n;++i)
        f>>v[i];
    for(i=1;i<=n;i++)
    {
        if(!D.empty())
            if(D.front()<=i-k)
                D.pop_front();
        if(!D.empty())
            while(v[i]<v[D.back()])
             {
                 D.pop_back();
                 if(!D.empty())
                    break;
             }
        D.push_back(i);
        if(i>=k)
            rasp+=v[D.front()];
    }
    g<<rasp;
    return 0;
}