Cod sursa(job #1052456)

Utilizator SilviussMezei Silviu Silviuss Data 11 decembrie 2013 12:36:49
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <deque>

using namespace std;

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

int n,k,i,*v;
int64_t s=0;
deque<int> q;

void deq()
{
    fin>>v[i];
    while(!q.empty() && v[q.back()]>v[i])
        q.pop_back();
    q.push_back(i);
}

int main()
{
    fin>>n>>k;
    v=new int[n];
    for(i=0;i<k-1;++i)
        deq();
    for(;i<n;++i)
    {
        deq();
        s+=v[q.front()];
        if(q.front()==i-k+1)
            q.pop_front();
    }
    fout<<s;
}