Cod sursa(job #1652068)

Utilizator AvramusAvram Andrei Marius Avramus Data 14 martie 2016 16:30:33
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n, v[6000005];

void generare() {
	int start, end, maxim = -2000000000, sum = 0,left=1;

	for (int i = 1; i <= n; i++) {
		if (sum < 0) {
			sum = v[i];
			left = i;
		}
		else {
			sum += v[i];
		}

		if (sum > maxim) {
			start = left;
			end = i;
			maxim = sum;
		}
	}
	fout << maxim << " " << start << " " << end;
}

int main() {
	fin >> n;
	for (int i = 1; i <= n; i++)
		fin >> v[i];
	generare();
	return 0;
}