Cod sursa(job #522187)

Utilizator cosminvdpruna stefan cosminvd Data 14 ianuarie 2011 15:09:37
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<fstream.h>
int n,k,i,min[500001],v[500001],max,p,u,st,dr;
int main()
{
    ifstream f("secventa.in");
    ofstream g("secventa.out");
    f>>n>>k;
    max=-30001;
    for(i=1;i<=n;i++)
    f>>v[i];
     p=u=1;
     min[p]=1;
     for(i=2;i<=n;i++)
    {
      while(p<=u&&v[i]<=v[min[u]])
      u--;
      u++;
      min[u]=i;
      while(p<=u&&i-min[p]>=k)
      p++;
      if(v[min[p]]>max&&i>=k)
      {
	   max=v[min[p]];
	   dr=i;
	  }
	}
   g<<dr-k+1<<' '<<dr<<" "<<max;
  return 0;
}