Cod sursa(job #2057891)

Utilizator nicolaefilatNicolae Filat nicolaefilat Data 4 noiembrie 2017 20:59:59
Problema Deque Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 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(MAXN);


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();
        if(v[i] < v[d.front()])
            d.clear();
        else if(v[i] < v[d.back()])
            d.pop_back();
        d.push_back(i);
        if(i - j == k-1){
            sum += v[d.front()];
            cerr<<v[d.front()]<<endl;
            j++;
        }

    }

    out<<sum;

    return 0;
}