Cod sursa(job #2657227)

Utilizator OffuruAndrei Rozmarin Offuru Data 10 octombrie 2020 09:56:09
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <deque>

using namespace std;

int a[5000000],n,k;
deque <int> d;

void read()
{
    cin>>n>>k;
    for(int i=0;i<n;i++)
        cin>>a[i];
}

void sumMin()
{
    int nr=0;
    int sum=0;
    for(int i=0;i<n;i++)
    {
        if(d.empty())
        {
            d.push_front(i);
            nr++;
        }
        else
        {
            if(nr==k)
            {
                cout<<a[d.front()]<<" ";
                sum+=a[d.front()];
                nr--;
                d.pop_front();
            }
            while(a[i]<a[d.back()])
                d.pop_back();
            d.push_back(i);
            nr++;
        }
    }
    cout<<sum;
}

int main()
{
    read();
    sumMin();
    return 0;
}