Cod sursa(job #2106594)

Utilizator PushkinPetolea Cosmin Pushkin Data 15 ianuarie 2018 22:35:22
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <bits/stdc++.h>
#include <fstream>
#include <climits>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
struct elem
{
    int n, pos;
    elem(int nr, int position)
    :n(nr), pos(position){}
};
deque<elem> d;
int main()
{
    int N, K, i, x, res=0;
    f>>N>>K;
    for(i=0;i<N;i++)
    {
        f>>x;
        while(d.size()&&d.front().pos<i-K+1)d.pop_front();
        while(d.size()&&d.back().n>x)d.pop_back();
        d.push_back(elem(x, i));
        if(i>=K-1)res+=d.front().n;
    }
    g<<res;
    f.close();
    g.close();
    return 0;
}
/**f>>a>>b;
    i=min(a, b);
    while(f>>c)
    {
        i=min(i, c);
        res+=i;
        a=b;
        b=c;
        i=min(a, b);
    }
    g<<res;*/