Cod sursa(job #1677445)

Utilizator PetruZZatic Petru PetruZ Data 6 aprilie 2016 16:23:08
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream cin ("deque.in");
ofstream cout("deque.out");

int n,k,a[5000010];
long long sm;

deque <int> d;

int main(){
    
    cin >> n >> k;
    
    for(int i=0; i<n; i++)cin >> a[i];
    
    for(int i=0; i<n; i++){
        
        while(!d.empty()&&a[i]<=a[d.back()]) d.pop_back();
        d.push_back(i);
        
        if(d.front()+1==i-k)d.pop_front();
        
        if(i>k+1) sm+=a[d.front()];
        
    }
    cout << sm;
    
    
return 0;
}