Cod sursa(job #2116893)

Utilizator EdgeLordXDOvidiuPita EdgeLordXD Data 28 ianuarie 2018 12:03:47
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <iostream>
#include <fstream>
using namespace std;
long long a[5000001];
long long 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;
}