Cod sursa(job #90486)

Utilizator znakeuJurba Andrei znakeu Data 9 octombrie 2007 15:44:00
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
struct baza
{
	int p,e,s;	
};
int v[500005];


int main()
{
	int i,j,k,n,e;
	baza m,c;
	FILE *in=fopen("secventa.in","r");
	fscanf(in,"%d%d",&n,&k);
	fscanf(in,"%d",&v[0]);
	m.s=0; m.e=k-1; m.p=0;
	for (i=1; i<k; i++)
	{
		fscanf(in,"%d",&v[i]);
		if (v[m.p]>v[i])
			m.p=i;	
	}
	for (i=k; i<n; i++)
		fscanf(in,"%d",&v[i]);
	fclose(in);
	
	for (i=1; i<=n-k; i++)
	{
		c.p=i; c.s=i; c.e=i+k-1;
		for (j=i+1; j<i+k; j++)
			if (v[c.p]>v[j])
				c.p=j;
		i=c.p;
		if (v[c.p]>v[m.p])
		{
			m.p=c.p;
			m.e=c.e;
			m.s=c.s;	
		}
	}
	FILE *out=fopen("secventa.out","w");
	fprintf(out,"%d %d %d\n",m.s+1,m.e+1,v[m.p]);
	fclose(out);
	
	
	return 0;
}