Cod sursa(job #149859)

Utilizator slayer4uVictor Popescu slayer4u Data 6 martie 2008 10:11:29
Problema Secventa 2 Scor 0
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("%ld %ld", &n, &k);
	for (i = 1; i <= n; i ++)
		scanf("%ld", &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("%ld %ld %ld\n", imax, smax, max);
	return 0;
}