Cod sursa(job #176276)

Utilizator AndreyPAndrei Poenaru AndreyP Data 10 aprilie 2008 22:24:09
Problema Secventa Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#define N 500000
char s[6*N];
int v[N];
int p,k;
int main()
{
	int i,min,semn=1,nr=1,a,b,c=-30010,y,j;
	freopen("secventa.in","r",stdin);
	freopen("secventa.out","w",stdout);
	scanf("%d%d\n",&p,&k);
	fgets(s,6*N,stdin);
	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
			{
				if(semn==-1)
					v[nr]*=semn;
				semn=1;
				nr++;
			}
		}
	}
	v[p]*=semn;
	nr=p-k+1;
	for(i=1; i<=nr; i++)
	{
		y=i+k-1;
		min=30010;
		for(j=i; j<=y; j++)
			if(v[j]<min)
				min=v[j];
		if(min>c)
		{
			c=min;
			a=i;
			b=y;
		}
	}
	printf("%d %d %d\n",a,b,c);
	return 0;
}