Cod sursa(job #3228830)

Utilizator EricDimiericdc EricDimi Data 11 mai 2024 16:25:12
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
#define NMAX 6000001

using namespace std;

long long a[NMAX], sp, sMin, sMax = LLONG_MIN;
int n, i, Inc, Sf;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);

	#ifndef LOCAL
		freopen("ssm.in", "r", stdin);
		freopen("ssm.out", "w", stdout);
	#endif
	cin >> n;
	for (int i = 1; i <= n; i++)
		cin >> a[i];
	int j = 1;
	for (int i = 1; i <= n; i++)
	{
		sp += a[i];
		if (sMax < sp - sMin)
			sMax = sp - sMin, Inc = j+1, Sf = i;
		if (sMin > sp)
				sMin = sp, j = i;
	}
	cout << sMax << ' ' << Inc << ' ' << Sf << '\n';
	return 0;
}