Cod sursa(job #508582)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 8 decembrie 2010 22:05:25
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
# include <fstream.h>
ifstream f ("secventa.in");
ofstream g ("secventa.out");
int p=1,u,j=1,n,k,i,a[500005],d[500005],pr,ul,max;
long long int s;
  
  void pushmin (int poz)
  {
	  while (p<=u && a[d[u]]>a[poz])
	  u--;
	  u++;
	  d[u]=poz;
  }


int main ()
{
	f>>n>>k;
	for (i=1;i<=n;i++)
		f>>a[i];
	
	for (i=1;i<=n;i++)
	{
		pushmin (i);
		
		while (j<=i-k)
			j++;
		while (d[p]<j)
			p++;
		if (i>=k)
			if (max<a[d[p]])
			{
				max=a[d[p]];
				pr=j;
				ul=i;
			}
	}
	
	g<<pr<<" "<<ul<<" "<<max;
	return 0;
}