Cod sursa(job #175967)

Utilizator rala03Ana Roxana Pop rala03 Data 10 aprilie 2008 17:01:26
Problema Secventa Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <stdio.h>
#define N 500000
char s[6*N];
int v[N];
int main ()
{
	int p,k,nr=0,i,c,max,semn;
	int min,a,b,j;
	//int v[N];
	freopen ("secventa.in","r",stdin);
	freopen ("secventa.out","w",stdout);
	scanf ("%d%d\n",&p,&k);
	fgets(s,6*N,stdin);
	//gets(s)
	for (i=0;s[i]!='\0';i++)
	{
		if(s[i]=='-')
			semn=-1;
		else
		{
			if (s[i]>='0' && s[i]<='9')
			{
				v[nr]=v[nr]*10+(s[i]-'0');
			}
			else
			{
				v[nr]*=semn;
				semn=1;
				nr++;
			}
		}
	}
/*	for(i=0;i<p;++i)
		printf("%d ",v[i]);
	printf("\n");*/
	c=-30000;
	a=v[0];b=v[k-1];
	for (i=0;i<=p-k+1;i++)
	{
		min=v[i];
		for (j=i;j<=i+k-1;j++)
		{
			//min=v[i];
			if (v[j]<min)
			{
				min=v[j];
			}
		}
		if (min>c)
		{
			a=i;
			b=i+k-1;
			c=min;
		}
	}
	max=v[a-1];
	for (i=a-1;i<=b-1;i++)
	{
		if (v[i]<max)
		{
			max=v[i];
		}
	}
	printf("%d %d %d",a+1,b+1,c);
	return 0;
}