Cod sursa(job #562186)

Utilizator eukristianCristian L. eukristian Data 22 martie 2011 16:08:34
Problema Secventa 2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>

int main()
{
	FILE *f = fopen("secv2.in", "r"), *g = fopen("secv2.out", "w");

	int n, k, min = 0,max, maxs = 0,maxe = 0;
	short vec[50001];
	int parSum[50001];
	fscanf(f,"%d %d\n", &n, &k);

	parSum[0] = 0;
	for (int i = 1 ; i <= n ; ++i)
	{
		fscanf(f, "%d", &vec[i]);
		parSum[i] = parSum[i - 1] + vec[i];
	}
	max = parSum[k];
	for (int i = k ; i <= n ; ++i)
	{
		if (parSum[i - k] < parSum[min])
			min = i - k;
		if (parSum[i] - parSum[min] > max)
		{
			max = parSum[i] - parSum[min];
			maxs = min + 1;
			maxe = i;
		}
	}

	fprintf(g,"%d %d %d\n",maxs,maxe, max);
	return 0;
}