Cod sursa(job #350398)

Utilizator MKLOLDragos Ristache MKLOL Data 23 septembrie 2009 19:46:14
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<fstream.h>
#define Nmax 500010

int v[Nmax],dq[Nmax],K,N,st,dr,max=-10000001,ifin,jfin;

int main()
{

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

fin>>N;
fin>>K;

for(int i=1;i<=N;++i)
fin>>v[i];
st=1;
dr=0;

for(int i=1;i<=N;++i)
{
while(st<=dr&&v[dq[dr]]>v[i]) --dr;
dq[++dr]=i;

if(dq[st]==i-K)
++st;


if(i>=K)
{
if(v[dq[st]]>max)
{
max=v[dq[st]];
ifin = i-K+1;
jfin = i;
}
}
}
fout<<ifin<<" "<<jfin<<" "<<max;

return 0;
}