Cod sursa(job #3338253)

Utilizator NeamtuMateiNeamtu Matei-Constantin NeamtuMatei Data 1 februarie 2026 21:41:50
Problema Secventa Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;

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

const int MAXN = 5e5;
int n, k, sminmax, st, dr;
int v[MAXN+1];
deque<int> dq;

int main() {
    in >> n >> k;
    for (int i = 1; i <= n; i++)
        in >> v[i];

    sminmax = -2e9;
    for (int i = 1; i <= k; i++) {
        while (!dq.empty() && v[dq.back()] > v[i])
            dq.pop_back();

        dq.push_back(i);
    }
    sminmax = max(sminmax, v[dq.front()]);
    st = 1, dr = k;

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

        while (!dq.empty() && v[dq.back()] > v[i])
            dq.pop_back();

        dq.push_back(i);
        if (sminmax < v[dq.front()]) {
            sminmax = v[dq.front()];
            st = dq.front();
            dr = dq.front() + dq.size();
        }
    }

    out << st << ' ' << dr << ' ' << sminmax;

    return 0;
}