Cod sursa(job #2876662)

Utilizator asbiancaBianca Gabriela Asavoaei asbianca Data 23 martie 2022 13:29:26
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <vector>
#include <deque>
using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");
deque <int> deqq;

int i, n, k, first, x, cnt;
int left_deq = 1, right_deq = 0;

int main()
{
    fin >> n >> k;
    vector <int> v(n + 1);
    for( i = 1; i <= n; i++)
    {
        fin >> v[i];
    }
    long long answear = 0;
    for(  i = 1; i <= n; i++)
    {
        while(!deqq.empty() && v[i] <= v[deqq.back()])
        {
            deqq.pop_back();
        }
        deqq.push_back(i);
        if(i >= k)
        {
            answear += v[deqq.front()];
            if(deqq.front() == i - k + 1)
            {
                deqq.pop_front();
            }
        }
    }
    fout << answear;
    return 0;
}