Cod sursa(job #2999612)

Utilizator indianu_talpa_iuteTisca Catalin indianu_talpa_iute Data 11 martie 2023 11:06:28
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>
#define MAXSZ 500000

using namespace std;

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

int main() {
    int n, k, lo = -1, hi = -1, maxi = INT_MIN, arr[MAXSZ];
    deque<int> dq;
    fin >> n >> k;
    for (int i = 0; i < n; i++) {
        fin >> arr[i];
        while (!dq.empty() && arr[dq.back()] >= arr[i])
            dq.pop_back();
        dq.push_back(i);
        if (dq.front() == i - k)
            dq.pop_front();
        if (i >= k - 1 && dq.front() > maxi) {
            lo = i - k + 1;
            hi = i;
            maxi = dq.front();
        }
    }

    for (int i = hi; i >= lo; i--)
        fout << arr[i] << ' ';
    return 0;
}