Cod sursa(job #2264435)

Utilizator catalina200029Olteanu Catalina catalina200029 Data 20 octombrie 2018 09:20:32
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <bits/stdc++.h>

using namespace std;

FILE*f=fopen("deque.in","r");
FILE*g=fopen("deque.out","w");

deque<int> d;
long long s;
int a[5000005],k,n;

int main() {
    int i;
    fscanf(f,"%d%d",&n,&k);
    for (i=1;i<=n;i++) {
        fscanf(f,"%d",&a[i]);
        while (!d.empty() && a[d.back()]>=a[i])
            d.pop_back();
        d.push_back(i);
        if (i-d.front()==k) d.pop_front();
        if (i>=k) s+=a[d.front()];
    }
    fprintf(g,"%lld",s);
    return 0;
}