Cod sursa(job #112842)

Utilizator vlad3rsterian vladut vlad3r Data 7 decembrie 2007 23:30:37
Problema Secventa Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<stdio.h>
#include<stdlib.h>

int cauta(int *v,int in,int out)
{
	int i,min=30001;

	for(i=in;i<=out;i++)
		if(min>v[i])
			min=v[i];
	return min;
}

int main(void)
{
int *v,i,min,rez,poz;
int n,k,start,stop;
FILE *in,*out;
in=fopen("secventa.in","r");
out=fopen("secventa.out","w");
fscanf(in,"%d",&n);
fscanf(in,"%d",&k);
v=(int *)malloc((n+1)*sizeof(int));
start=1;
stop=k;
min=30001;
for(i=1;i<=k;i++)
{
	fscanf(in,"%d",&v[i]);
	if(min>v[i])
		{min=v[i];poz=i;}
}
for(i=k+1;i<=n;i++)
{
	fscanf(in,"%d",&v[i]);
	if(poz<i-k+1)
	{
		rez=cauta(v,i-k+1,i);
		if(min<rez)
			{min=rez;poz=i;start=i-k+1;stop=i;}
	}
	else
	{
		if(min>v[i])
			{min=v[i];poz=i;start=i-k+1;stop=i;}
	}
}
fprintf(out,"%d %d %d",start,stop,min);

fclose(in);
fclose(out);
return 0;
}