Cod sursa(job #2887742)

Utilizator andriciucandreeaAndriciuc Andreea andriciucandreea Data 10 aprilie 2022 09:32:32
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

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

int main()
{
    deque <pair <long long, long long>> v;      // (valoare, pozitie)
    long long n, x, k, suma = 0;
    fin>>n>>k;
    for(int i = 1; i <= n; i++)
    {
        fin>>x;
        while(!v.empty() && x < v.back().first)
            v.pop_back();
        v.push_back(make_pair(x, i));
        while(!v.empty() && v.front().second <= i-k)
            v.pop_front();
        if( i>=k)
            suma += v.front().first;

    }
    fout<<suma;
    return 0;
}