Cod sursa(job #2477490)

Utilizator alex02Grigore Alexandru alex02 Data 20 octombrie 2019 14:25:47
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

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

deque< pair<long long,long long> >dq;
long long n,k,suma=0;



int main() {
    f>>n>>k;
    for(long long i=0; i<n; i++){
        long long aux;
        f>>aux;
        while(!dq.empty() && dq.front().second<=i-k){
            dq.pop_front();
        }
        while(!dq.empty() && dq.back().first>=aux){
            dq.pop_back();
        }
        dq.push_back(make_pair(aux,i));
        if(i>=k-1){
            suma += dq.front().first;
        }
    }
    g<<suma;
    return 0;
}