Cod sursa(job #2079505)

Utilizator sebigeoGeorgescu Sebastian sebigeo Data 1 decembrie 2017 14:37:03
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <deque>
#define MAXN 5000001

using namespace std;

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


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


int main()
{
    in>>n>>k;
    int j = 1;
    for(int i = 1; i <= n; i++){
        in>>v[i];
        if(i - d.front() >= k)
            d.pop_front();

        while(d.size() && v[i] <= v[d.back()])
            d.pop_back();
        d.push_back(i);
        if(i - j == k-1){
            sum += v[d.front()];
            j++;
        }
    }

    out<<sum;

    return 0;
}