Cod sursa(job #1836396)

Utilizator EdythestarGhiriti Edmond Edythestar Data 28 decembrie 2016 12:43:50
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");

typedef pair<int,int> T;

deque<T> deq;

int i,n,k,a;

int main()
{
    fin>>n>>k;
    long long s=0;
    for(i=0;i<n;++i)
    {
        fin>>a;

        while(!deq.empty() && deq.front().second<=i-k) deq.pop_front();

        while(!deq.empty() && deq.back().first>a) deq.pop_back();

        deq.push_back(T(a,i));

        if(i+1>=k) s+=deq.front().first;
    }

    cout<<s;
}