Cod sursa(job #149860)

Utilizator slayer4uVictor Popescu slayer4u Data 6 martie 2008 10:12:27
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>

long long i, n, k, sum, max, imax, smax, num, x[50010];

int main()
{
	freopen ("secv2.in", "rt", stdin);
	freopen ("secv2.out", "wt", stdout);

	scanf("%lld %lld", &n, &k);
	for (i = 1; i <= n; i ++)
		scanf("%lld", &x[i]), sum += x[i];

	if (sum > max)
	{
		max = sum;
		smax = n;
		imax = 1;
	}

	sum = 0;
	max = -50000 * 25000;
	for (i = 1; i <= n; i ++)
	{
		if (sum < 0)
			sum = 0, num = 0;
		
		sum += x[i];
		num ++;

		if (sum > max && num >= k)
		{
			max = sum;
			smax = i;
			imax = i - num + 1;
		}
	}

	printf("%lld %lld %lld\n", imax, smax, max);
	return 0;
}