Cod sursa(job #3333993)

Utilizator parus_majorParus Major parus_major Data 15 ianuarie 2026 19:20:25
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <climits>

using namespace std;

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

const int MAXN = 500002;

int A[MAXN];
int deq[MAXN], front, back;
int N, K;
int ans, l, r;

int main()
{
    fin >> N >> K;
    front = 1;
    back = 0;
    ans = INT_MIN;
    for (int i = 1; i <= N; ++i) {
        fin >> A[i];

        if (front < back && deq[front] <= i - K) ++front;
        while (front < back && A[deq[back]] > A[i]) --back;
        deq[++back] = i;

        if (ans < A[deq[front]]) {
            ans = A[deq[front]];
            l = i - K + 1;
            r = i;
        }
    }
    fout << l << " " << r << " " << ans;
    return 0;
}