Cod sursa(job #2759040)

Utilizator DariusMDarius Feher DariusM Data 14 iunie 2021 21:27:41
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int main() {
	int n;
	f >> n;
	int maxi = -int(2e9), start, sum = 0, maxi_start = 0, maxi_end = 0, nr;
	for (int i = 1; i <= n; i++) {
		f >> nr;
		if (sum <= 0) {
			start = i;
			sum = nr;
		} else {
			sum += nr;
		}
		if (sum > maxi) {
			maxi_start = start;
			maxi_end = i;
			maxi = sum;
		}
	}
	g << maxi << " " << maxi_start << " " << maxi_end << "\n";   
	return 0;
}