Cod sursa(job #2999615)

Utilizator raulababeiAbabei Raul raulababei Data 11 martie 2023 11:08:50
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
#include <deque>

using namespace std;

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

int n, a[5000001];
int k;
int q[5000001];
int maxim = -1;

int main()
{
    in >> n >> k;
    for(int i = 1;i <= n;i++){
        in >> a[i];
    }
    int pq = 0, uq = -1;
    for(int i = 1;i <= n;i++){
        while(pq <= uq && a[i] > a[q[uq]]){
            uq--;
        }
        q[++uq] = i;
        if(q[pq] <= i - k){
            pq++;
        }
        if(i >= k) maxim = max(maxim, q[pq]);
    }
    out << maxim - 1 << " " << maxim + k - 2 << ' ' << a[maxim - 1];
    return 0;
}