Cod sursa(job #1132208)

Utilizator MariusMocanuMocanu Marius-Alexandru @ASECIB MariusMocanu Data 2 martie 2014 21:18:21
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <limits.h>

using namespace std;


int main()
{
	int v, poz[2] = { 1, 1 }, n, s=0, min=0, max=INT_MIN,temppoz;
	bool nrgasit = false;
	ifstream in("ssm.in");
	ofstream out("ssm.out");
	in >> n;
	for (int i = 1; i <= n; i++)
	{
		in >> v;
		s += v;
		if (s < min && v<0)
		{
			min = s;
			nrgasit = false;
			poz[0] = i+1;
		}
		else
		if (s>min)
		{
			if (s - min>max)
			{
				temppoz =poz[0];
				max = s - min;
				nrgasit = true;
				poz[1] = i;
			}
		}
	}
	out << max << " ";
	if (nrgasit == true) out << poz[0] << " " << poz[1];
	else out << temppoz << " " << poz[1];
	return 0;
}