Cod sursa(job #3367395)

Utilizator epituPitu Eduard epitu Data 7 octombrie 2026 14:51:25
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
deque <pair<int, int>> d;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
pair <int,int> p;
int n, k, a[1000005], pr, poz, ma, i;
int main()
{
    fin >> n >> k;
    for (i=1; i<=n; i++)
        fin >> a[i];
    for (i=1; i<=n; i++)
    {
        if (!d.empty() && i-d.front().second+1>=k)
        {
            if (ma<d.front().first)
            {
                ma=d.front().first;
                poz=d.front().second;
            }

            d.pop_front();}
pr=i;
            while (!d.empty() && a[i]<d.back().first)
            {
                pr=d.back().second;
                d.pop_back();
            }
            p.first=a[i];
            p.second=pr;
            d.push_back(p);
            cout << d.front().first << " ";
        }

        i=poz;
        while (a[i]>=ma && i<=n)
        {
            fout << a[i] << " ";
            i++;
        }
        return 0;
    }