Cod sursa(job #416607)

Utilizator TabaraTabara Mihai Tabara Data 13 martie 2010 00:17:35
Problema Secventa 2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
using namespace std;

const char* in = "secv2.in";
const char* out = "secv2.out";
const int NMAX = 50005;

int N, K;
int sum[NMAX], minx, maxx;
int begin, end;

int main ( void )
{
	freopen ( in, "r", stdin );
	freopen ( out, "w", stdout );

	scanf ( "%d%d", &N, &K );

	int i,okj,X,Y;
	for ( i = 1; i <= N; ++i )
	{
		scanf ( "%d", &Y );
		sum[i] = sum[i-1] + Y;
	}

	maxx = sum[K];
	minx = sum[1];

	for ( i = K+1; i <= N; ++i ) {
		if ( minx > sum[i-K] ) minx = sum[i-K], okj = i-K;
		X = sum[i] - minx;
		if ( X > maxx ) maxx = X, begin = okj, end = i;
	}

	printf ( "%d %d %d\n", begin+1, end, maxx );
	return 0;
}