Cod sursa(job #1528404)

Utilizator lucianRRuscanu Lucian lucianR Data 19 noiembrie 2015 17:30:42
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

int main() {
	ifstream in("ssm.in");
	int n, a, max = -9999999, sum = 0, maxStartIndex = 0, maxEndIndex = 0, startIndex = 0, x[6000000];
	in >> n;
	in >> a;
	sum = a;
	x[0] = a;
	for(int i = 1; i < n; i++) {
		int b;
		in >> b;
		x[i] = b;
		if(sum + b > b)
			sum = sum + b;
			if(max < sum) {
				maxStartIndex = startIndex;
				max = sum;
				maxEndIndex = i;
			}
		else {
			startIndex = i;
			sum = b;
			if(max < sum) {
				maxStartIndex = startIndex;
				max = sum;
				maxEndIndex = i;
			}
		}
	}

	ofstream out("ssm.out");
	for(int i = maxStartIndex; i < maxEndIndex + 1; i++) {
		out << x[i] << " ";
	in.close();
	out.close();
	return 0;
}