Cod sursa(job #2057246)

Utilizator nicolaefilatNicolae Filat nicolaefilat Data 4 noiembrie 2017 15:01:29
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#define MAXN 5000001

using namespace std;

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


int n,k,v[MAXN],d[MAXN];
long long int sum;


int main()
{
    in>>n>>k;
    int st = 0,dr = -1;
    for(int i = 0; i < n; i++){
        in>>v[i];
        if(st <= dr && d[st] == i-k)
            st++;
        while(st <= dr && v[i] <= v[d[dr]])
            dr--;
        d[++dr] = i;
        if(i >= k -1)
            sum += v[d[st]];
    }
    out<<sum;

    return 0;
}