Cod sursa(job #1130841)

Utilizator GrandmasterSoucup Bogdan Grandmaster Data 28 februarie 2014 15:59:07
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>
using namespace std;
int main()
{
	int n, i, sum, max, x[50001], k, gal, lag, sum1, max1;
	ifstream g("secv2.in");
	ofstream f("secv2.out");
	g >> n >> k;
	for (i = 0; i < n; i++)
		g >> x[i];
	sum = x[0];
	max = x[0];
	for (i = 1; i < n; i++)
	{
		if (sum + x[i]>max)
		{
			max = sum + x[i];
			gal = i;
		}
		if (sum + x[i] >= x[i])
			sum += x[i];
		else
		{
			sum = x[i];
			lag = i;
		}
	}
	if (gal - lag < k)
	{
		max = x[lag+1];
		sum = x[lag+1];
		for (i = lag + 1; i < n; i++)
		{
			if (sum + x[i]>max)
			{
				max = sum + x[i];
				gal = i;
			}
			if (sum + x[i] > x[i])
				sum += x[i];
			else
			{
				sum = x[i];
				lag = i;
			}
		}
	}
	f << lag+1 << " " << gal+1 << " " << max;
}