Cod sursa(job #315974)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 17 mai 2009 21:25:15
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <stdio.h>

FILE *f,*s;

int v[500005];
long int n,k,i,j,inc,min1,min2;

int minim( long int a, long int b)
{
	int min=-32000;
	for(j=a;j<=b;j++)
	{
		if(v[j]<min)
			min=v[j];
	}	
	
	return min;
}	

int main()
{
	f=fopen("secventa.in","r");
	s=fopen("secventa.out","w");
	
	fscanf(f,"%ld %ld\n",&n,&k);
	
	for(i=1;i<=n;i++)
		fscanf(f,"%d ",&v[i]);
	
	inc=1;
	min2=minim(1,k);
	min1=min2;
	
	
	for(i=2;i<=n-k-1;i++)
	{
		if(v[i-1]==min2)
		{
			min2=minim(i,i+k-1);
			
			if(min2>min1)
			{
				min1=min2;
				inc=i;
			}	
		}	
		else if(v[i+k-1]>min2)
		{
			min2=v[i+k-1];
			
			if(min2>min1)
			{
				min1=min2;
				inc=i+k-1;
			}	
		}	
	}	
	
	fprintf(s,"%ld %ld %d",inc,inc+k-1,min1);
	
	fclose(s);
	
	return 0;
}