Cod sursa(job #3298748)

Utilizator iulia_morariuIuli Morariu iulia_morariu Data 1 iunie 2025 12:27:29
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <algorithm>
#include <iostream>
#include <fstream>
#include <climits>
#include <vector>
#include <stack>
#include <cmath>
// #include <bits/stdc++.h>
#define in  fin
#define out fout

using namespace std;

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

signed main(){
    ios_base::sync_with_stdio(false);
    in.tie(NULL);

    int n, k; in >> n >> k;
    int v[n];
    for(int i = 0; i < n; i++) in >> v[i];

    int l = -30000, r = 30000;
    int sol = 0, st = 0, len = 0;
    while(l <= r){
        int m = (l + r) / 2;
        int lmax = 0, x = 0;
        for(int i = 0; i < n; i++){
            if(v[i] >= m) x++;
            else x = 0;
            if(x >= k) break;
        }

        if(x >= k){
            sol = m;
            len = x;
            l = m + 1;
        }else r = m - 1;
    }

    int x = 0;
    for(int i = 0; i < n; i++){
        if(v[i] >= sol) x++;
        else x = 0;
        if(x == len){
            out << i - x + 2 << " " << i + 1 << " ";
            break;
        }
    }

    out << sol << '\n';

    return 0;
}