Cod sursa(job #94585)

Utilizator the1dragonIonita Alexandru the1dragon Data 23 octombrie 2007 21:18:46
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>

int v[51200];

int main()
{
	freopen("secv2.in", "r", stdin);
	freopen("secv2.out", "w", stdout);
	int n, k, i, max=0, sol=0, start, stop;
	scanf("%d %d", &n, &k);
	for (i=1; i<=n; i++)
		scanf("%d", &v[i]);
	for (i=1; i<=k; i++)
		max+=v[i];
	sol=max;
	start=1;
	stop=k;
	for (; i<=n; i++)
	{
		max+=v[i];
		max-=v[i-k];
		if (max>sol)
		{
			sol=max;
			start=i-k+1;
			stop=i;
		}
	}
	max=sol;
	for (i=stop+1; i<=n; i++)
	{
		max+=v[i];
		if (max>sol)
		{
			sol=max;
			stop=i;
		}
	}
	max=sol;
	for (i=start-1; i>0; i--)
	{
		max+=v[i];
		if (max>sol)
		{
			sol=max;
			start=i;
		}
	}
	printf("%d %d %d", start, stop, sol);	
	return 0;
}