Cod sursa(job #2116894)

Utilizator EdgeLordXDOvidiuPita EdgeLordXD Data 28 ianuarie 2018 12:04:47
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>
using namespace std;
int a[5000001];
int d[5000001];
ifstream in("deque.in");
ofstream out("deque.out");
int main(){
    long long n,k,i,s=0;
    in>>n>>k;
    for(i=1; i<=n; ++i)
        in>>a[i];
    int st=0,dr=0;
    for(i=1; i<=n; ++i){
        while(st<=dr && a[i]<=a[d[dr]]) --dr;
        d[++dr]=i;
        if(d[st]==i-k && st<=dr) ++st;
        if(i>=k) s+=a[d[st]];
    }
    out<<s;
    return 0;
}