Cod sursa(job #2625674)

Utilizator maria.ianiIani Maria maria.iani Data 6 iunie 2020 06:57:35
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");

int main()
{
    int n,k,x;
    long long S=0;
    f>>n>>k;
    vector<int> v;
    deque<int> d;
    for (int i=1; i<=n;i++)
    {
        f>>x;
        v.push_back(x);
    }
    d.push_back(0);
    for (int i=1;i<n;++i)
    {
        while (!d.empty() && v[i] <=v[d.back()])
            {d.pop_back();}
        d.push_back(i);
        if (d.front() == i-k)
            d.pop_front();

        if (k-1 <= i)
            S+=v[d.front()];
    }
    g<<S;
    f.close();
    g.close();
    
}