Cod sursa(job #2909217)

Utilizator simion_bogdanSimion Bogdan-Dumitru simion_bogdan Data 9 iunie 2022 23:15:56
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include<fstream>
#include<algorithm>

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() {

	cin >> n;

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

	for (int 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;
}