Cod sursa(job #328033)

Utilizator radu_cppRadu Voroneanu radu_cpp Data 30 iunie 2009 19:54:41
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>

int a[50010], b[50010];
int n,j,k,w,q,min,x,max,i;

int main()
{
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	scanf("%ld %ld",&n,&k);
	b[0]=0;
	for (i=1; i<=n; i++)
	{
		scanf("%ld",&a[i]);
		b[i]=b[i-1]+a[i];
	}
	min=5000001; max=-min;
	for (j=0; j<=n-k; j++)
	{
		if (b[j]<min)
		{
			min=b[j];
			w=j;
		}
		if (b[j+k]-min>max)
		{
			max=b[j+k]-min;
			x=w+1; q=j+k;
		}
	}
	printf("%ld %ld %ld\n",x,q,max);
	fclose(stdin); fclose(stdout);
	return 0;
}