Cod sursa(job #2806308)

Utilizator bumblebeeGeorge Bondar bumblebee Data 22 noiembrie 2021 15:05:51
Problema Subsecventa de suma maxima Scor 5
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <climits>
using namespace std;

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

int n, v[6000001];

int main() {
	int best = 0, start_idx = 1, end_idx = 1, maxBest = INT_MIN;
	fin >> n;
	for (int i = 1; i <= n; ++i) {
		fin >> v[i];
		if (v[i] + best >= v[i]) {
			best += v[i];
		} else {
			best = v[i];
			if (v[start_idx] < v[i]) {
				start_idx = end_idx = i;
			}
		}
		if (best > maxBest) {
			maxBest = best;
			end_idx = i;
		}
	}
	fout << maxBest << " " << start_idx << " " << end_idx;
	return 0;
}