Cod sursa(job #489452)

Utilizator iraIrina Stanescu ira Data 2 octombrie 2010 17:15:38
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>

using namespace std;

#define infile "ssm.in"
#define outfile "ssm.out"

FILE *fin, *fout;

int main() {

	int i, n, ei, si = -99999, start, finish, maxsi, maxstart, maxfinish;

	ifstream in(infile);
	ofstream out(outfile);

	in >> n;
	start = finish = 1;
	maxstart = maxfinish = 1;
	maxsi = si;

	for (i = 1; i <= n; i++) {
		in >> ei;

		if (si >= 0) {
			finish++;
			si += ei;
		} else {
			if (ei > si) {
				start = finish = i;
				si = ei;
			}
		}
		if (si > maxsi) {
			maxsi = si;
			maxstart = start;
			maxfinish = finish;
		}
	}

	out << maxsi << " " << maxstart << " " << maxfinish << endl;

	return 0;
}