Cod sursa(job #1106150)

Utilizator fhandreiAndrei Hareza fhandrei Data 12 februarie 2014 16:27:30
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
// Include
#include <fstream>
using namespace std;

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

int num, val;

int currentSum;
int currentStart = 1;

int maxSum = -(1<<30)+1;
int maxStart, maxEnd;

// Main
int main()
{
	in >> num;
	
	for(int i=1 ; i<=num ; ++i)
	{
		in >> val;
		currentSum += val;
		if(currentSum > maxSum)
		{
			maxSum = currentSum;
			maxStart = currentStart;
			maxEnd = i;
		}
		
		if(currentSum < 0)
		{
			currentSum = 0;
			currentStart = i+1;
		}
	}
	
	out << maxSum << ' ' << maxStart << ' ' << maxEnd << '\n';
	
	in.close();
	out.close();
	return 0;
}