Cod sursa(job #36348)

Utilizator robbyRobertino robert robby Data 23 martie 2007 14:01:21
Problema Secventa Scor 90
Compilator c Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
#define nmax 500001
int a[nmax];
FILE *f,*g;
int main()
{
  long n,k,i,j,min,l,max,imax,x;
  f=fopen("secventa.in","rt");
  g=fopen("secventa.out","wt");
  fscanf(f,"%ld %ld\n",&n,&k);
  for (i=1;i<=n;i++)
	fscanf(f,"%d",&a[i]);
  min=30001;
  for (i=1;i<=k;i++)
	if (a[i]<min)
	  min=a[i];

  max=min;
  imax=1;
  l=n-k+1;
  for (i=2;i<=l;i++)
	{
	  x=i+k-1;
	  if (a[i-1]==min)
		{
		  min=a[i];
		  for (j=i+1;j<=x;j++)
			if (a[j]<min)
			  min=a[j];
		}
	   else
		 if (a[x]<min)
		   min=a[x];
	  if (min>max)
		{
		  max=min;
		  imax=i;
		}
	}

  fprintf(g,"%ld %ld %ld\n",imax,imax+k-1,max);
  fcloseall();
  return 0;
}