Cod sursa(job #1804456)

Utilizator caprariuapCaprariu Alin-Paul caprariuap Data 12 noiembrie 2016 16:37:17
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n,k,i,vf,bz,maxim,dq[1000000],inc,sf,nr,a[500010];

int main()
{
    fin>>n>>k;
    maxim=-2000000000;
    vf=-1;
    for (i=1; i<=n; i++)
    {
        fin>>a[i];
        while (vf>=bz&&a[dq[vf]]>a[i])
            vf--;
        dq[++vf]=i;
        if (dq[bz]<=i-k)
            bz++;
        if (a[dq[bz]]>maxim)
        {
            maxim=a[dq[bz]];
            nr=dq[bz];
        }
    }
    sf=nr+k-1;
    inc=nr;
    while (inc>1&&a[inc-1]>=a[nr])
        inc--;
    fout<<inc<<' '<<sf<<' '<<maxim;
return 0;
}