Cod sursa(job #3339239)

Utilizator densisGeanta Denis densis Data 7 februarie 2026 10:38:59
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

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

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

	long long x;

	long long current_sum = 0;
	long long best_sum = LLONG_MIN;

	int current_l = 1;
	int best_l = 1, best_r = 1;

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

		if (current_sum + x < x) {
			current_sum = x;
			current_l = i;
		} else {
			current_sum += x;
		}

		if (current_sum > best_sum) {
			best_sum = current_sum;
			best_l = current_l;
			best_r = i;
		}
		else if (current_sum == best_sum) {
			if (current_l < best_l || (current_l == best_l && i < best_r)) {
				best_l = current_l;
				best_r = i;
			}
		}
	}

	fout << best_sum << " " << best_l << " " << best_r;
	return 0;
}