Cod sursa(job #1677429)

Utilizator PetruZZatic Petru PetruZ Data 6 aprilie 2016 16:09:07
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>

using namespace std;

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

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

int main(){
    
    cin >> n >> k;
    
    for(int i=1; i<=n; i++) cin >> a[i];
    
    int f=1, b=0;
    for(int i=1; i<=n; i++){
        
        while(f<=b&&a[i]<=a[d[b]])b--;
        d[++b]=i;
        
        if(d[f]==i-k) f++;
        
        if(i>=k) sm+=a[d[f]];
    }
    cout << sm;
    
return 0;
}