Cod sursa(job #2783078)

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

using namespace std;

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

int main()
{
	int n, nr;
	fin >> n;

	int suma = 0, maxSuma = -(int)(1 << 31), minSum = 0;
	int startIndex = 0, endIndex = 0, index = 0;

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

		if (suma - minSum > maxSuma)
		{
			maxSuma = suma - minSum;
			endIndex = i;
			startIndex = index + 1;
		}

		if (suma < minSum)
		{
			minSum = suma;
			index = i;
		}
	}

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