Cod sursa(job #1505000)

Utilizator Julian.FMI Caluian Iulian Julian. Data 18 octombrie 2015 17:22:15
Problema Secventa Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>
#define nmax 500005
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");

int dq[nmax],poz[nmax];

int main()
{long in,sf,i,x,maxim,inc,n,k,j;
    fin>>n>>k;


maxim=-30999;inc=0;
sf=-1;in=0;

    for(i=1;i<=n;i++)
        {fin>>x;

         while(sf>=in && x<dq[sf])sf--;
         dq[++sf]=x;
         poz[sf] =i;


        if(i>=k)
            if(dq[in]>maxim)
                {maxim=dq[in];
                  inc=poz[sf]-k+1;}

        if(i-poz[in] >= k-1)in++;
        }

    fout<<inc<<' '<<inc+k-1<<' '<<maxim;

}