Cod sursa(job #2910166)

Utilizator radu.seitanSeitan Radu-Catalin radu.seitan Data 18 iunie 2022 16:56:14
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
#include<algorithm>
#include<limits.h>

using namespace std;

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

#define TOP 6000005

int element[TOP], n, topSum = INT_MIN, currentSum = 0, position, startPosition, finalPosition;

int main() {

	int i;

	cin >> n;

	for (i = 0; i < n; i++) {
		cin >> element[i];
	}

	for (i = 0; i < n; i++) {
		if (currentSum < 0) {
			currentSum = element[i];
			position = i;
		}
		else {
			currentSum += element[i];
		}
		if (topSum < currentSum) {
			topSum = currentSum;
			startPosition = position;
			finalPosition = i;
		}
	}

	cout << topSum << " " << startPosition + 1 << " " << finalPosition + 1;

	return 0;
}