Cod sursa(job #1861671)

Utilizator robertrRotaru Stefan Robert robertr Data 29 ianuarie 2017 10:44:14
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int k,n,i,l,s,cst,cdr;
struct elem
{
    int pos,val;
}x;
deque <elem> v;
int main()
{
    f>>n>>k;
    for(i=1;i<=k;i++)
    {
        f>>x.val;
        x.pos=i;
        while(!v.empty()&&v.back().val>x.val)
            v.pop_back();
        v.push_back(x);
    }
    cst=1;cdr=k;s=v.front().val;
    for(i=k+1;i<=n;i++)
    {
        cst++;
        cdr++;
        f>>x.val;x.pos=i;
        if(v.front().pos<cst)v.pop_front();
        while(!v.empty()&&v.back().val>x.val)
            v.pop_back();
        v.push_back(x);
        s+=v.front().val;
    }
    g<<s;
    return 0;
}