Cod sursa(job #2125841)

Utilizator catalinlupCatalin Lupau catalinlup Data 8 februarie 2018 19:32:15
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <bits/stdc++.h>
#define INFILE "deque.in"
#define OUTFILE "deque.out"
using namespace std;
ifstream in(INFILE);
ofstream out(OUTFILE);
int N,K;

int main()
{
    in>>N>>K;
    deque<pair<int,int>> dcoada;
    int s=0;
    for(int i=1;i<=N;i++){
        int x;
        in>>x;
        while(!dcoada.empty()&&x<dcoada.back().first)
            dcoada.pop_back();
        dcoada.push_back(make_pair(x,i));
        if(i-K==dcoada.front().second){
            dcoada.pop_front();
        }
        if(i>=K)
            s+=dcoada.front().first;
    }

    out<<s;
    return 0;
}