Cod sursa(job #2265664)

Utilizator q1e123Solca Robert-Nicolae q1e123 Data 21 octombrie 2018 15:33:06
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include<deque>
using namespace std;

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

deque<long>d;
long n,k;
long long sum;

int main() {
    INPUT_FILE>>n>>k;
    long elem[n];
    for(long i=0;i<n;++i){
        INPUT_FILE>>elem[i];
        while(!d.empty() && elem[i]<=elem[d.back()]) d.pop_back();
        d.push_back(i);
        if (i >= k-1)
        {
            while(!d.empty() && i-d.front()>=k) d.pop_front();
            sum+=elem[d.front()];
        }
    }
    OUTPUT_FILE<<sum;

    return 0;
}