Cod sursa(job #325767)

Utilizator udrescu_cristiUdrescu Cristian udrescu_cristi Data 22 iunie 2009 12:54:21
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>
using namespace std;  

#define SMAX 6000000
int v[SMAX], s[SMAX], n;

int main()
{
	ifstream f1("ssm.in");
	ofstream f2("ssm.out");
	int i, bi, bi1, ei = bi = bi1 = 0;
	f1 >> n >> v[0];
	s[0] = v[0];
	for(i = 1; i < n; ++i){
		f1 >> v[i];
		if(s[i-1] < 0)
			s[bi1 = i] = v[i];
		else
			s[i] = s[i-1] + v[i];
		if(s[i] > s[ei])
			ei = i, bi = bi1;
	}
	f2 << s[ei] << " " << bi + 1 << " " << ei + 1;
	f2.close( );
	return 0;
}