Cod sursa(job #2999447)

Utilizator doruliqueDoru MODRISAN dorulique Data 11 martie 2023 00:45:38
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;

int a[500001],q[500001];
ifstream fin("secventa.in");
ofstream fout("secventa.out");

int main()
{
    int n,k,i,pq=0,uq=-1,mx=-1000000000,i1,i2;
    fin>>n>>k;
    for(i=1;i<k;i++)
    {
        fin>>a[i];
        while(pq<=uq && a[i]<=a[q[uq]])uq--;
        q[++uq]=i;
    }
    for(i=k;i<=n;i++)
    {
        fin>>a[i];
        while(pq<=uq && a[i]<=a[q[uq]])uq--;
        q[++uq]=i;
        if(q[pq]==i-k)pq++;
        if(a[q[pq]]>mx)
        {
            mx=a[q[pq]];
            i1=q[pq];
            i2=i1+k-1;
        }
    }
    fout<<i1<<" "<<i2<<" "<<mx;
    return 0;
}