Cod sursa(job #1507038)

Utilizator TonyFrumTony Frum TonyFrum Data 21 octombrie 2015 11:20:02
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
//#include<iostream>
#include<deque>
#include<fstream>
using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int main()
{
    int k,n,c=0,i,x,sem=0;
    deque<int> q,v;
    f>>n>>k;
    for(i=1;i<=n;i++)
    {
        f>>x;
        sem=0;
        if(v.size()!=0)
            if(i-v.front()>=k)
            {
                q.pop_front();
                v.pop_front();
            }
        if(q.size()!=0)
            while(q.size()!=0 && sem==0)
            {
                sem=1;
                if(x<q.back())
                {
                    sem=0;
                    q.pop_back();
                    v.pop_back();
                }
            }
        q.push_back(x);
        v.push_back(i);
        if(i>=k)
            c+=q.front();
    }
    g<<c;
    g.close();
    f.close();
    return 0;
}