Cod sursa(job #2375617)

Utilizator alex02Grigore Alexandru alex02 Data 8 martie 2019 11:02:50
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <stdint.h>

using namespace std;

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

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

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