Cod sursa(job #2783074)

Utilizator sebimihMihalache Sebastian sebimih Data 13 octombrie 2021 19:01:26
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int main()
{
	int n, nr, suma = 0, maxSuma = -(int)(1 << 31), lastIndex = 0, startIndex = 0, endIndex = 0;
	fin >> n;

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

		if (nr > suma + nr)
		{
			suma = nr;
			lastIndex = i;
		}
		else
		{
			suma += nr;
		}

		if (suma > maxSuma)
		{
			maxSuma = suma;
			endIndex = i;
			startIndex = lastIndex;
		}
	}

	fout << maxSuma << ' ' << startIndex << ' ' << endIndex;
}