Cod sursa(job #2943936)

Utilizator Nico7777777Nicola Andrei George Nico7777777 Data 21 noiembrie 2022 20:31:12
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <deque>
#include <vector>
using namespace std;

ifstream cin ("deque.in");
ofstream cout ("deque.out");

struct elem
{
    int val, poz;
};

int n, k;
deque< elem > q;
vector< int > r;

int main()
{
    int x;
    cin >> n >> k;
    for( int i = 1; i <= n; i = i + 1 )
    {
        cin >> x;
        if( q.empty() == false )
            while( q[ q.size() - 1 ].val > x )
                q.pop_back();
        if( q.empty() == false )
            while( q[ 0 ].poz <= i - k )
                q.pop_front();

        q.push_back( { x, i } );

        if( i >= k )
            r.push_back( q.front().val );
    }
    for( int i = 0; i < r.size(); i = i + 1 )
        cout << r[ i ] << " ";

    return 0;
}