Cod sursa(job #384630)

Utilizator toniobFMI - Barbalau Antonio toniob Data 20 ianuarie 2010 16:34:29
Problema Secventa 2 Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
using namespace std;

ifstream in ( "secv2.in" );
ofstream out ( "secv2.out" );

int N, k, K, v [ 50001 ], sum [ 50001 ];

int main ()
{
	int sc = 0, smax = -1999999999, hipoz = 1, lopoz = 1000, inceput = 1;
	in >> N >> K;
	
	for ( int i = 1; i <= N; ++i )
	{
		in >> v [ i ];
		sum [ i ] = v [ i ] + sum [ i - 1 ]; 
	}
	sc = sum[k-1];
	inceput = 1;
	for ( int i = K; i <= N; ++i )
	{
		if ( sc + v [ i ] > sum [ i ] - sum [ i - k ] )
			sc = sc + v [ i ];
		else
		{
			inceput = i - K + 1;
			sc = sum [ i ] - sum [ i - K ];
		}
		
		if ( sc > smax )
		{
			lopoz = inceput;
			hipoz = i;
			smax = sc;
		}
	}
	
	out << lopoz << " " << hipoz << " " << smax;
	
	return 0;
}