Cod sursa(job #1254761)

Utilizator vtt271Vasile Toncu vtt271 Data 3 noiembrie 2014 13:52:12
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>

#define LEFT_INFINITY -1000

using namespace std;

ifstream inFile("file.in");
ofstream outFile("ssm.out");

int main(){
	int N, x;
	inFile >> N;

	int scrt = 0, smax = LEFT_INFINITY;

	int a, b, A, B;
	a = b = A = B = 1;

	int max = LEFT_INFINITY, p;

	for(int i = 1; i <= N; i++) {
		inFile >> x;
		if(x > max) { max = x; p = i;}
		scrt = scrt + x;
		b = i;
		if(scrt < 0) { scrt = 0; a = i+1; }
		if(smax < scrt) { smax = scrt; A = a; B = b; }
	}
	if(max <= 0) outFile << max << " " << p << " " << p;
	else outFile << smax << " " << A << " " << B;

}