Cod sursa(job #1364904)

Utilizator code_and_rosesUPB Dinu Neatu Rotaru code_and_roses Data 27 februarie 2015 21:20:08
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>

using namespace std;

#define INF 0x3f3f3f3f

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

int main() {

	int smax = 0, sol, left, leftTmp, right, N, i, currentNo;
	
	sol = -INF;

	// Read data from input file
	in >> N;
	for (i = 1; i <= N; i++) {
		in >> currentNo;
		if (smax < 0) {
			smax = 0;
			leftTmp = i;
		} 
		smax += currentNo;
		if (smax > sol) {
			sol = smax;
			left = leftTmp;
			right = i;
		}
	}

	out << sol << " " << left << " " << right << '\n';

	return 0;
}