Cod sursa(job #2201250)

Utilizator emiemiEmi Necula emiemi Data 3 mai 2018 23:49:40
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>

using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");

int main() {
	int i, n, *v;
	int maxi = -2000000000;
	int start , end, act;

	f >> n;
	v = (int *)malloc((n + 1) * sizeof(int));

	for (i = 1; i <= n; ++i) {
		f >> v[i];
	}

	int sum = v[1];
	act = 1;
	maxi = v[1];
	start = end = 1;

	for (i = 2; i <= n; ++i) {
		if (sum < 0) {
			sum = v[i];
			act = i;
		} else {
			sum += v[i];
		}

		if (sum > maxi) {
			maxi = sum;
			start = act;
			end = i;
		}
	}

	g << maxi << ' ' << start << ' ' << end << '\n';

	return 0;
}