Cod sursa(job #2209074)

Utilizator Bulboaca_EugenBulboaca Alexandru Eugen Bulboaca_Eugen Data 1 iunie 2018 17:50:10
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>
using namespace std;
deque <pair<int,int>> coada;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main ()
{
    int n, k, p=1;
    long long s=0;
    fin >> n >> k;
    for(int i=1; i <= k; i++){
        int x;
        fin >> x;
        while(coada.front().first >= x && !coada.empty())
            coada.pop_front();
        coada.push_front({x,p});
        p++;
    }
    s=coada.back().first;
    for(int i=k+1; i<=n; i++){
        int x;
        fin >> x;
        while(coada.front().first >= x && coada.size())
            coada.pop_front();
        while(i-coada.back().second >= k && coada.size())
            coada.pop_back();
        coada.push_front({x,p});
        p++;
        s+=coada.back().first;
    }
    fout << s;
    return  0;
}