Cod sursa(job #1473248)

Utilizator elevenstrArina Raileanu elevenstr Data 18 august 2015 21:40:20
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <deque>
//http://www.infoarena.ro/problema/deque
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
deque <long long int> DQ;
long long int v[5000070];
int main()
{
   long long int i, n, s=0,k;
    in>>n>>k;
    for(i=1;i<=n;i++)
        in>>v[i];
    for(i=1;i<=n;i++)
    {
        while(!DQ.empty()&&v[i]<v[DQ.back()])
        DQ.pop_back();
        DQ.push_back(i);
        while(DQ.front()<=i-k)
            DQ.pop_front();
        if(i>=k)
            s=s+v[DQ.front()];
    }
    out<<s;
    in.close();
    out.close();

    return 0;
}