Cod sursa(job #3373342)

Utilizator HimaiDragnea Mihai-Alexandru Himai Data 6 noiembrie 2026 17:13:20
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <climits>
#include <deque>
#include <fstream>
using namespace std;

const int MAX_N = 500000;
int A[MAX_N];

int main() {
    ifstream fin("secventa.in");
    ofstream fout("secventa.out");
    int N, K;
    fin >> N >> K;
    deque<int> pozitii;
    for (int i = 0; i < K; ++i) {
        fin >> A[i];
        while (!pozitii.empty() && A[pozitii.front()] > A[i]) {
            pozitii.pop_front();
        }
        pozitii.push_front(i);
    }
    int sol_baza = A[pozitii.back()];
    int sol_st = 1;
    int sol_dr = K;
    for (int i = K; i < N; ++i) {
        fin >> A[i];
        while (!pozitii.empty() && A[pozitii.front()] > A[i]) {
            pozitii.pop_front();
        }
        pozitii.push_front(i);
        while (pozitii.back() <= i - K) {
            pozitii.pop_back();
        }
        if (A[pozitii.back()] > sol_baza) {
            sol_baza = A[pozitii.back()];
            sol_st = i - K + 2;
            sol_dr = i + 1;
        }
    }
    fout << sol_st << ' ' << sol_dr << ' ' << sol_baza;
}