Cod sursa(job #2999642)

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

using namespace std;

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

int n, a[500001];
int k;
int q[500001];
int maxim = -30000;

int main()
{
    in >> n >> k;
    for(int i = 1;i <= n;i++){
        in >> a[i];
    }
    int pq = 0, uq = -1;
    int val = 0;
    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){
                if(maxim <= a[q[pq]]){
                    maxim = a[q[pq]];
                    val = q[pq];
                }
        }
    }
    out << val << " " << val + k - 1 << ' ' << maxim;
    return 0;
}