Cod sursa(job #3366667)

Utilizator MateiTeiChelaru Matei MateiTei Data 3 octombrie 2026 12:06:29
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <fstream>
#include <deque>


using namespace std;

int a[500100];
deque<int> dq;

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

    int n, k;
    fin >> n >> k;

    for (int i = 1; i <= n; ++i)
    {
        fin >> a[i];
    }


    int st = 0, dr = 0, bmax = -1000000;

    for (int i = 1; i <= k; ++i)
    {
        int x = a[i];
        while (!dq.empty() && x < dq.back())
        {
            dq.pop_back();
        }
        dq.push_back(a[i]);

        int baza = dq.front();
        if (baza > bmax)
        {
            bmax = baza;
            st = 1;
            dr = k;
        }
    }

    for (int i = k + 1; i <= n; ++i)
    {
        int y = a[i - k];
        if (dq.front() == y)
            dq.pop_front();

        int x = a[i];
        while (!dq.empty() && x < dq.back())
        {
            dq.pop_back();
        }
        dq.push_back(a[i]);

        int baza = dq.front();
        if (baza > bmax)
        {
            bmax = baza;
            st = i - k + 1;
            dr = i;
        }
    }

    fout << st << " " << dr << " " << bmax << "\n";


    return 0;
}