Cod sursa(job #2375607)

Utilizator alex02Grigore Alexandru alex02 Data 8 martie 2019 10:57:58
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

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

int n,k,sir[5000009];
deque<int>dq;

int main()
{
    f>>n>>k;
    int suma=0;
    for(int i=0; i<n; i++)
    {
        f>>sir[i];
        //cout<<sir[i]<<endl;
        while(!dq.empty() && sir[dq.back()]>=sir[i])
        {
            dq.pop_back();
        }
        dq.push_back(i);
        if(dq.front()<=i-k)
            dq.pop_front();
        if(i>=k-1)
        {
            //cout<<sir[dq.front()]<<endl;
            suma+=sir[dq.front()];

        }
    }
    g<<suma<<endl;
    return 0;
}