Cod sursa(job #2543984)

Utilizator marius004scarlat marius marius004 Data 11 februarie 2020 17:58:30
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>

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

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

int main(){
    
    f >> n >> k >> x;
    
    d.push_back({x,1});
    
    for(int i = 2;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 >= k)
            d.pop_front();
        
        if(i >= k)
            sol += d.front().first;
    }
    
    g << sol;
    
    return 0;
}