Cod sursa(job #1430714)

Utilizator andy94Andrei Ursache andy94 Data 8 mai 2015 19:11:07
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<iostream>
#include<fstream>
#include<algorithm>

using namespace std;

int main() {

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

	int n;
	in >> n;

	int v[n];

	for (int i = 0; i < n; ++i) {
		in >> v[i];
	}

	int max_so_far = v[0];
	int start = 0;
	int length = 1;

	int finalS, finalL;

	int max_current = v[0];

	for (int i = 1; i < n; ++i) {

		if (v[i] > max_current + v[i]) {
			max_current = v[i];
			start = i;
			length = 1;
		} else {
			max_current = v[i] + max_current;
			length++;
		}

		if (max_current >= max_so_far) {
			max_so_far = max_current;
			finalS = start;
			finalL = length;
		}

	}

	out << max_so_far << " " << finalS + 1 << " " << finalL + finalS << endl;
	in.close();
	out.close();
	return 0;
}