Cod sursa(job #422485)

Utilizator drywaterLazar Vlad drywater Data 22 martie 2010 19:15:44
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>
FILE *f=fopen("secv2.in","r"),*g=fopen("secv2.out","w");
int k,n,v[50001],i,s[50001],l[50001],lm,stm,finm;
int main(void)
{
	fscanf(f,"%d%d",&n,&k);
	for (i=1;i<=n;i++)
	{
		fscanf(f,"%d",&v[i]);
		s[i]=s[i-1]+v[i];
		if (i<=n-k)
			if (s[l[i-1+k]]>s[i]) l[i+k]=i;
			else l[i+k]=l[i-1+k];
	}
	lm=-125000001;
	for (i=k;i<=n;i++)
	{
		if (s[i]-s[l[i]]>lm)
		{
			lm=s[i]-s[l[i]];
			stm=l[i]+1;
			finm=i;
		}
	}
	fprintf(g,"%d %d %d",stm,finm,lm);
	fclose(g);
	return 0;
}