Cod sursa(job #1257133)

Utilizator fhandreiAndrei Hareza fhandrei Data 7 noiembrie 2014 12:04:09
Problema Secventa 2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
// Include
#include <fstream>
using namespace std;

// Constante
const int sz = (int)5e4+1;
const int oo = (1<<30)-1;

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

int num, len;
int sum[sz];

int excludedSum = oo;
int maxSum=-oo, maxLeft, maxRight;

// Main
int main()
{
	in >> num >> len;
	for(int i=1 ; i<=num ; ++i)
		in >> sum[i], sum[i] += sum[i-1];
	
	for(int i=len ; i<=num ; ++i)
	{
		if(sum[i-len] < excludedSum)
			excludedSum = sum[i-len];
		
		if(sum[i] - excludedSum > maxSum)
		{
			maxSum = sum[i] - excludedSum;
			maxLeft = i-len+1;
			maxRight = i;
		}
	}
	
	out << maxLeft << ' ' << maxRight << ' ' << maxSum << '\n';
	
	in.close();
	out.close();
	return 0;
}