Cod sursa(job #2567363)

Utilizator recapitulareOJIScarlat Marius Stefan recapitulareOJI Data 3 martie 2020 16:51:59
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <deque>

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

long long n,k,x,sol;
std::deque< std::pair<long long,long long> >d;

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