Cod sursa(job #1677433)

Utilizator PetruZZatic Petru PetruZ Data 6 aprilie 2016 16:10:55
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

using namespace std;

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

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

int main(){
    
    cin >> n >> k;
    
    for(int i=1; i<=n; i++) cin >> a[i];
    
    long long 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;
}